Coverage for backend/core/auxiliary/viewsets/SolutionViewSet.py: 72%

18 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-11-06 23:27 +0000

1import traceback 

2from core.viewset import ModelViewSet 

3from rest_framework.decorators import action 

4from rest_framework.response import Response 

5from rest_framework import serializers 

6from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes 

7from ..models.Solution import Solution 

8from ..serializers.SolutionSerializer import SolutionSerializer 

9 

10class SolutionViewSet(ModelViewSet): 

11 serializer_class = SolutionSerializer 

12 

13 # Filter by property Value 

14 def get_queryset(self): 

15 scenario = self.request.query_params.get("scenario") 

16 simulation_object = self.request.query_params.get("simulation_object") 

17 

18 solutions = Solution.objects.filter( 

19 scenario=scenario, 

20 property__property__set__simulationObject_id=simulation_object, 

21 ) 

22 return solutions 

23 

24 @extend_schema( 

25 parameters=[ 

26 OpenApiParameter(name="scenario", required=True, type=OpenApiTypes.INT), 

27 OpenApiParameter(name="simulation_object", required=True, type=OpenApiTypes.INT), 

28 ] 

29 ) 

30 def list(self, request): 

31 return super().list(request)