diff --git a/apps/qm/migrations/0050_alter_defect_cate.py b/apps/qm/migrations/0050_alter_defect_cate.py new file mode 100644 index 00000000..d1216389 --- /dev/null +++ b/apps/qm/migrations/0050_alter_defect_cate.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2025-04-23 05:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('qm', '0049_alter_ptest_sample_number'), + ] + + operations = [ + migrations.AlterField( + model_name='defect', + name='cate', + field=models.CharField(help_text="['尺寸', '外观', '内质', '性能']", max_length=50, verbose_name='分类'), + ), + ] diff --git a/apps/qm/models.py b/apps/qm/models.py index 5abe5f40..a017f119 100644 --- a/apps/qm/models.py +++ b/apps/qm/models.py @@ -14,9 +14,10 @@ class Defect(CommonAModel): DEFECT_OK = 10 DEFECT_OK_B = 20 DEFECT_NOTOK = 30 + cate_list = ["尺寸", "外观", "内质", "性能"] name = models.CharField(max_length=50, verbose_name="名称") code = models.CharField(max_length=50, verbose_name="标识", null=True, blank=True) - cate = models.CharField(max_length=50, verbose_name="分类", choices=(("尺寸", "尺寸"), ("外观", "外观"), ("内质", "内质"))) + cate = models.CharField(max_length=50, verbose_name="分类", help_text=str(cate_list)) okcate= models.PositiveSmallIntegerField(verbose_name="不合格分类", choices=((DEFECT_OK, "合格"), (DEFECT_OK_B, "合格B类"), (DEFECT_NOTOK, "不合格")), default=DEFECT_NOTOK) diff --git a/apps/qm/serializers.py b/apps/qm/serializers.py index a1dbeff4..872f1826 100644 --- a/apps/qm/serializers.py +++ b/apps/qm/serializers.py @@ -15,6 +15,12 @@ class DefectSerializer(CustomModelSerializer): model = Defect fields = '__all__' read_only_fields = EXCLUDE_FIELDS + + def validate(self, attrs): + cate = attrs["cate"] + if cate not in Defect.cate_list: + raise ParseError("缺陷类别错误") + return attrs # def create(self, validated_data): # code = validated_data["code"]