From 9033a1cc14608bd2cadf6a4f2860706a7ef0562a Mon Sep 17 00:00:00 2001 From: Jorrit Schaap <schaap@astron.nl> Date: Tue, 1 Jun 2021 11:56:53 +0200 Subject: [PATCH] TMSS-761: added readonly property SAPs which returns a QuerySet containing all SAPs of the subtask's output dataproducts --- SAS/TMSS/backend/src/tmss/tmssapp/models/scheduling.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/models/scheduling.py b/SAS/TMSS/backend/src/tmss/tmssapp/models/scheduling.py index 10cf2b6cdad..140283b661a 100644 --- a/SAS/TMSS/backend/src/tmss/tmssapp/models/scheduling.py +++ b/SAS/TMSS/backend/src/tmss/tmssapp/models/scheduling.py @@ -225,10 +225,17 @@ class Subtask(BasicCommon, ProjectPropertyMixin, TemplateSchemaMixin): @property def output_dataproducts(self) -> QuerySet: '''return the output dataproducts(s) as queryset (over which you can perform extended queries, or return via the serializers/viewsets) - If you want the result, add .all() like so: my_subtask.input_dataproducts.all() + If you want the result, add .all() like so: my_subtask.output_dataproducts.all() ''' return Dataproduct.objects.filter(producer__subtask_id=self.id) + @property + def SAPs(self) -> QuerySet: + '''return the SAP's (SubArrayPointings) as queryset (over which you can perform extended queries, or return via the serializers/viewsets) + If you want the result, add .all() like so: my_subtask.SAPs.all() + ''' + return SAP.objects.filter(dataproducts__producer__subtask_id=self.id).distinct() + def get_transformed_input_dataproduct(self, output_dataproduct_id: int) -> 'Dataproduct': '''return the transformed input dataproduct for the given output_dataproduct_id.''' return self.input_dataproducts.get(consumers__output_id=output_dataproduct_id) -- GitLab