diff --git a/hb_server/apps/pum/serializers.py b/hb_server/apps/pum/serializers.py index 9194882..c3d948b 100644 --- a/hb_server/apps/pum/serializers.py +++ b/hb_server/apps/pum/serializers.py @@ -1,8 +1,7 @@ -from rest_framework.serializers import ModelSerializer +from rest_framework.serializers import ModelSerializer, ValidationError from apps.mtm.serializers import MaterialSimpleSerializer from .models import PuOrder, PuOrderItem, Vendor - class VendorSerializer(ModelSerializer): class Meta: model = Vendor @@ -23,6 +22,12 @@ class PuOrderItemCreateSerializer(ModelSerializer): class Meta: model = PuOrderItem fields = ['count', 'delivery_date', 'pu_order', 'material'] + + def validate(self, attrs): + pu_order = attrs['pu_order'] + if pu_order.is_audited: + raise ValidationError('采购订单已审核') + return super().validate(attrs) class PuOrderItemUpdateSerializer(ModelSerializer): class Meta: diff --git a/hb_server/apps/pum/views.py b/hb_server/apps/pum/views.py index a90fdca..6f13f39 100644 --- a/hb_server/apps/pum/views.py +++ b/hb_server/apps/pum/views.py @@ -85,12 +85,6 @@ class PuOrderItemViewSet(CreateModelMixin, ListModelMixin, DestroyModelMixin, Ge elif self.action == 'update': return PuOrderItemUpdateSerializer return super().get_serializer_class() - - def create(self, request, *args, **kwargs): - obj = self.get_object() - if obj.pu_order.is_audited: - raise ValidationError('所属采购已审核') - return super().create(request, *args, **kwargs) def destroy(self, request, *args, **kwargs): obj = self.get_object()