diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 9abbd8cda2..516edc5040 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -687,6 +687,8 @@ class StockItemTestResultList(generics.ListCreateAPIView): 'value', ] + ordering = 'date' + def get_serializer(self, *args, **kwargs): try: kwargs['user_detail'] = str2bool(self.request.query_params.get('user_detail', False)) diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 9ed2a55d4a..02393023b9 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -1129,7 +1129,7 @@ class StockItemTestResult(models.Model): super().clean() # If this test result corresponds to a template, check the requirements of the template - key = helpers.generateTestKey(self.test) + key = self.key templates = self.stock_item.part.getTestTemplates() @@ -1150,6 +1150,10 @@ class StockItemTestResult(models.Model): break + @property + def key(self): + return helpers.generateTestKey(self.test) + stock_item = models.ForeignKey( StockItem, on_delete=models.CASCADE, diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index d0d7162370..19d05d7b7b 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -230,6 +230,8 @@ class StockItemTestResultSerializer(InvenTreeModelSerializer): user_detail = UserSerializerBrief(source='user', read_only=True) + key = serializers.CharField(read_only=True) + def __init__(self, *args, **kwargs): user_detail = kwargs.pop('user_detail', False) @@ -244,6 +246,7 @@ class StockItemTestResultSerializer(InvenTreeModelSerializer): fields = [ 'pk', 'stock_item', + 'key', 'test', 'result', 'value',