diff --git a/apps/inm/serializers.py b/apps/inm/serializers.py index 533d4602..4cb382b0 100644 --- a/apps/inm/serializers.py +++ b/apps/inm/serializers.py @@ -246,7 +246,8 @@ class MIODoSerializer(CustomModelSerializer): return attrs def create(self, validated_data): - validated_data["number"] = MIO.get_a_number(validated_data["type"]) + if not validated_data.get("number", None): + validated_data["number"] = MIO.get_a_number(validated_data["type"]) if validated_data['type'] not in [MIO.MIO_TYPE_DO_OUT, MIO.MIO_TYPE_DO_IN]: raise ValidationError('出入库类型错误') return super().create(validated_data) @@ -297,7 +298,8 @@ class MIOPurSerializer(CustomModelSerializer): def create(self, validated_data): validated_data['type'] = MIO.MIO_TYPE_PUR_IN - validated_data['number'] = MIO.get_a_number(validated_data["type"]) + if not validated_data.get("number", None): + validated_data["number"] = MIO.get_a_number(validated_data["type"]) pu_order: PuOrder = validated_data.get('pu_order', None) if pu_order: if pu_order.state in [PuOrder.PUORDER_CREATE, PuOrder.PUORDER_DONE]: @@ -324,7 +326,8 @@ class MIOOtherSerializer(CustomModelSerializer): read_only_fields = ["number"] def create(self, validated_data): - validated_data['number'] = MIO.get_a_number(validated_data["type"]) + if not validated_data.get("number", None): + validated_data["number"] = MIO.get_a_number(validated_data["type"]) if validated_data['type'] not in [MIO.MIO_TYPE_OTHER_OUT, MIO.MIO_TYPE_OTHER_IN]: raise ValidationError('出入库类型错误') return super().create(validated_data) diff --git a/apps/pm/serializers.py b/apps/pm/serializers.py index 0eb28dfa..ce728f5e 100644 --- a/apps/pm/serializers.py +++ b/apps/pm/serializers.py @@ -27,7 +27,8 @@ class UtaskSerializer(CustomModelSerializer): read_only_fields = ["number"] def create(self, validated_data): - validated_data["number"] = Utask.get_a_number() + if not validated_data.get('number', None): + validated_data["number"] = Utask.get_a_number() return super().create(validated_data) def validate(self, attrs):