diff --git a/apps/opm/serializers.py b/apps/opm/serializers.py index bcf061a0..3dcfbe0c 100644 --- a/apps/opm/serializers.py +++ b/apps/opm/serializers.py @@ -7,7 +7,7 @@ from apps.utils.serializers import CustomModelSerializer from apps.utils.constants import EXCLUDE_FIELDS from rest_framework import serializers from django.db import transaction -from rest_framework.exceptions import ParseError +from rest_framework.exceptions import ParseError, ValidationError from apps.am.serializers import AreaSimpleSerializer from apps.wf.serializers import TicketSerializer from apps.system.serializers import FileSerializer @@ -47,6 +47,13 @@ class OperationCreateUpdateSerializer(CustomModelSerializer): class Meta: model = Operation exclude = EXCLUDE_FIELDS + ['number'] + + def validate(self, attrs): + dept_ter = attrs['dept_ter'] + dept_bus = attrs['dept_bus'] + if dept_ter.type != 'dept' or dept_bus.type != 'dept': + raise ValidationError('属地和业务部门需为本部') + return super().validate(attrs) class OperationPartialUpdateSerializer(CustomModelSerializer):