Coverage for backend/django/Economics/costing/operating/viewsets.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-06-23 21:51 +0000

1from core.viewset import ModelViewSet 

2from Economics.costing.models import OperatingCostLine 

3from Economics.costing.operating.serializers import OperatingCostLineSerializer 

4from Economics.studies.api_mutations import StudyMutationMixin 

5 

6 

7class OperatingCostLineViewSet(StudyMutationMixin, ModelViewSet): 

8 serializer_class = OperatingCostLineSerializer 

9 stale_reason = "economics_operating_line_api_saved" 

10 

11 def get_queryset(self): 

12 queryset = OperatingCostLine.objects.select_related( 

13 "study", 

14 "costable_item", 

15 "source_property_info", 

16 "source_property_info__set__simulationObject", 

17 "source_default_rate", 

18 ) 

19 study = self.request.query_params.get("study") 

20 return queryset.filter(study_id=study) if study is not None else queryset