diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index 0bb19ccd..d5997d15 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -212,6 +212,11 @@ class MlogbDefectSerializer(CustomModelSerializer): model = MlogbDefect fields = ["id", "defect_name", "count", "mlogb", "defect", "defect_okcate"] read_only_fields = EXCLUDE_FIELDS_BASE + ["mlogb"] + + def validate(self, attrs): + if attrs["count"] < 0: + raise serializers.ValidationError("存在负数!") + return attrs class MlogbSerializer(CustomModelSerializer): material_out_ = MaterialSimpleSerializer( @@ -675,6 +680,8 @@ class MlogbInSerializer(CustomModelSerializer): 'wm_in': {'required': True, "allow_empty": False}} def validate(self, attrs): + if attrs["count_use"] < 0 or attrs["count_pn_jgqbl"] < 0 or attrs["count_break"] < 0: + raise ParseError('存在负数!') mlog:Mlog = attrs['mlog'] is_fix = mlog.is_fix mtask: Mtask = attrs.get("mtask", None) @@ -739,6 +746,10 @@ class MlogbInUpdateSerializer(CustomModelSerializer): model = Mlogb fields = ['id', 'count_use', 'count_pn_jgqbl', 'note', 'mlogbdefect'] + def validate(self, attrs): + if attrs["count_use"] < 0 or attrs["count_pn_jgqbl"] < 0: + raise ParseError('存在负数!') + return attrs def update(self, instance, validated_data): mlog: Mlog = instance.mlog mlogbdefect = validated_data.pop("mlogbdefect", None)