diff --git a/apps/enm/serializers.py b/apps/enm/serializers.py index d7a53487..022d7263 100644 --- a/apps/enm/serializers.py +++ b/apps/enm/serializers.py @@ -2,9 +2,11 @@ from apps.utils.serializers import CustomModelSerializer from apps.enm.models import Mpoint, MpLog, MpointStat from apps.utils.constants import EXCLUDE_FIELDS from rest_framework import serializers +from apps.mtm.models import Mgroup class MpointSerializer(CustomModelSerializer): + mgroup = serializers.PrimaryKeyRelatedField(label="测点集", queryset=Mgroup.objects.all(), required=True) mgroup_name = serializers.CharField(source='mgroup.name', read_only=True) belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True) ep_monitored_name = serializers.CharField(source='ep_monitored.name', read_only=True) @@ -12,7 +14,11 @@ class MpointSerializer(CustomModelSerializer): class Meta: model = Mpoint fields = '__all__' - read_only_fields = EXCLUDE_FIELDS + read_only_fields = EXCLUDE_FIELDS + ['belong_dept'] + + def validate(self, attrs): + attrs['belong_dept'] = attrs['mgroup'].belong_dept + return attrs class MpLogSerializer(CustomModelSerializer):