From 2cd4a68e23338141021f9de40922373ec014fc81 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 2 Nov 2023 14:38:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20mlogserializer=20material=5Fouts=5F=20bu?= =?UTF-8?q?g=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/serializers.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index 7bd6adfc..1ecb3037 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -120,9 +120,11 @@ class MlogSerializer(CustomModelSerializer): class Meta: model = Mlog fields = '__all__' - read_only_fields = EXCLUDE_FIELDS + ['submit_time', 'submit_user'] + read_only_fields = EXCLUDE_FIELDS + \ + ['submit_time', 'submit_user', 'material_outs'] def create(self, validated_data): + print(1, validated_data) mtask = validated_data.get('mtask', None) batch = validated_data['batch'] handle_date = validated_data['handle_date'] @@ -141,12 +143,12 @@ class MlogSerializer(CustomModelSerializer): if Mlog.objects.filter(mtask=mtask, batch=batch, handle_date=handle_date, handle_user=handle_user).exists(): raise ValidationError('存在相同的日志记录') with transaction.atomic(): - material_outs = validated_data.pop('material_outs', []) + material_outs_ = validated_data.pop('material_outs_', []) instance = super().create(validated_data) brotherId_should_list = material_out.brothers if brotherId_should_list: - if material_outs: - for item in material_outs: + if material_outs_: + for item in material_outs_: if item['material_out'].id in brotherId_should_list: Mlogb.objects.create( mlog=instance, material_out=item['material_out'], count_ok=item['count_ok']) @@ -161,12 +163,12 @@ class MlogSerializer(CustomModelSerializer): validated_data.pop('handle_user', None) validated_data.pop('mgroup', None) with transaction.atomic(): - material_outs = validated_data.pop('material_outs', []) + material_outs_ = validated_data.pop('material_outs_', []) instance = super().update(instance, validated_data) brotherId_should_list = instance.material_out.brothers if brotherId_should_list: - if material_outs: - for item in material_outs: + if material_outs_: + for item in material_outs_: id = item.get('id', None) if id: mlogb = Mlogb.objects.get(id=id)