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
« 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
7class OperatingCostLineViewSet(StudyMutationMixin, ModelViewSet):
8 serializer_class = OperatingCostLineSerializer
9 stale_reason = "economics_operating_line_api_saved"
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