diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/models/scheduling.py b/SAS/TMSS/backend/src/tmss/tmssapp/models/scheduling.py index 10cf2b6cdad6d0fb4296245e617f73bbab36fc51..140283b661ad5daac775ec288437c0740d9f61f7 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)