diff --git a/apps/qm/serializers.py b/apps/qm/serializers.py index e83b1903..66f95b38 100644 --- a/apps/qm/serializers.py +++ b/apps/qm/serializers.py @@ -13,6 +13,16 @@ class DefectSerializer(CustomModelSerializer): fields = '__all__' read_only_fields = EXCLUDE_FIELDS + def create(self, validated_data): + code = validated_data["code"] + if Defect.objects.get_queryset(all=True).filter(code=code).exists(): + raise ValidationError("缺陷标识已存在") + return super().create(validated_data) + + def update(self, instance, validated_data): + validated_data.pop("code", None) + return super().update(instance, validated_data) + class TestItemSerializer(CustomModelSerializer): class Meta: model = TestItem