diff --git a/apps/mtm/serializers.py b/apps/mtm/serializers.py index 36154844..4389b899 100644 --- a/apps/mtm/serializers.py +++ b/apps/mtm/serializers.py @@ -43,6 +43,13 @@ class MaterialSerializer(CustomModelSerializer): if Material.objects.filter(name=validated_data['name'], specification=validated_data.get('specification', None), model=validated_data.get('model', None), process=validated_data.get('process', None)).exists(): raise serializers.ValidationError('物料已存在') return super().create(validated_data) + + def validate(self, attrs): + type = attrs['type'] + if type in [Material.MA_TYPE_GOOD, Material.MA_TYPE_HALFGOOD]: + if attrs.get('process', None) is None: + raise ValidationError('半成品/成品必须指定所到工序') + return super().validate(attrs) class MgroupSerializer(CustomModelSerializer):