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
« 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
5class OptimizationDegreesOfFreedomSerializer(serializers.ModelSerializer):
6 simulationObjectId = serializers.IntegerField(source='propertyValue.property.set.simulationObject.id', read_only=True)
7 isFreeVariable = serializers.SerializerMethodField()
9 class Meta:
10 model = OptimizationDegreesOfFreedom
11 fields = '__all__'
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")
18class ScenarioSerializer(serializers.ModelSerializer):
19 degreesOfFreedom = OptimizationDegreesOfFreedomSerializer(many=True, required=False)
21 class Meta:
22 model = Scenario
23 fields = '__all__'