Skip to content
Snippets Groups Projects
Commit 83b588c5 authored by Jorrit Schaap's avatar Jorrit Schaap
Browse files

TMSS-1124: fetch the subtask's input/output dataproducts and all related...

TMSS-1124: fetch the subtask's input/output dataproducts and all related properties in one queryset. Major speedup
parent 3f68205d
No related branches found
No related tags found
1 merge request!633TMSS-1124
......@@ -311,7 +311,9 @@ class SubtaskViewSet(LOFARViewSet):
@action(methods=['get'], detail=True, url_name='input_dataproducts')
def input_dataproducts(self, request, pk=None):
subtask = get_object_or_404(models.Subtask, pk=pk)
serializer = serializers.DataproductSerializer(subtask.input_dataproducts, many=True, context={'request': request})
# fetch the subtask's input_dataproducts and all related properties in one queryset. Major speedup.
input_dataproducts = subtask.input_dataproducts.select_related('dataformat', 'datatype', 'specifications_template', 'producer', 'feedback_template', 'sap', 'global_identifier', 'archive_info').prefetch_related('consumers')
serializer = serializers.DataproductSerializer(input_dataproducts, many=True, context={'request': request})
return RestResponse(serializer.data)
......@@ -321,7 +323,9 @@ class SubtaskViewSet(LOFARViewSet):
@action(methods=['get'], detail=True, url_name='output_dataproducts')
def output_dataproducts(self, request, pk=None):
subtask = get_object_or_404(models.Subtask, pk=pk)
serializer = serializers.DataproductSerializer(subtask.output_dataproducts, many=True, context={'request': request})
# fetch the subtask's output_dataproducts and all related properties in one queryset. Major speedup.
output_dataproducts = subtask.output_dataproducts.select_related('dataformat', 'datatype', 'specifications_template', 'producer', 'feedback_template', 'sap', 'global_identifier', 'archive_info').prefetch_related('consumers')
serializer = serializers.DataproductSerializer(output_dataproducts, many=True, context={'request': request})
return RestResponse(serializer.data)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment