Coverage for backend/django/core/auxiliary/serializers/ScenarioSerializer.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-12-18 04:00 +0000

1from rest_framework import serializers 

2from core.auxiliary.models.Scenario import Scenario, OptimizationDegreesOfFreedom 

3 

4 

5class OptimizationDegreesOfFreedomSerializer(serializers.ModelSerializer): 

6 simulationObjectId = serializers.IntegerField(source='propertyValue.property.set.simulationObject.id', read_only=True) 

7 isFreeVariable = serializers.SerializerMethodField() 

8 

9 class Meta: 

10 model = OptimizationDegreesOfFreedom 

11 fields = '__all__' 

12 

13 def get_isFreeVariable(self, obj: OptimizationDegreesOfFreedom) -> bool: 

14 if getattr(obj, "propertyValue", None) is None: 

15 return False 

16 return (obj.propertyValue.enabled and not hasattr(obj.propertyValue,"controlManipulated")) or hasattr(obj.propertyValue, "controlSetPoint") 

17 

18class ScenarioSerializer(serializers.ModelSerializer): 

19 degreesOfFreedom = OptimizationDegreesOfFreedomSerializer(many=True, required=False) 

20 

21 class Meta: 

22 model = Scenario 

23 fields = '__all__'