fix: wm_in 找不到的错误

This commit is contained in:
caoqianming 2024-11-24 16:07:11 +08:00
parent d52bd4e064
commit a484c0021d
1 changed files with 6 additions and 7 deletions

View File

@ -283,10 +283,10 @@ class MlogSerializer(CustomModelSerializer):
instance: Mlog = super().create(validated_data)
# 自动生成mlogb
batch_in = instance.batch
wm_in = instance.wm_in
if wm_in:
batch_in = wm_in.batch
if instance.material_in: # 如果有消耗
wm_in = instance.wm_in
if wm_in:
batch_in = wm_in.batch
add_dict = {
'mlog': instance, 'batch': batch_in, 'wm_in': wm_in,
'mtask': instance.mtask, 'material_in': instance.material_in,
@ -337,7 +337,6 @@ class MlogSerializer(CustomModelSerializer):
add_dict_2[f.name] = getattr(instance, f.name)
ddict = {}
if wm_in:
wm_in = instance.wm_in
ddict = {"batch_ofrom": wm_in.batch_ofrom, "material_ofrom": wm_in.material_ofrom}
Mlogb.objects.get_or_create(**add_dict_2, defaults=ddict)
return instance
@ -354,13 +353,13 @@ class MlogSerializer(CustomModelSerializer):
mlogb = validated_data.pop('mlogb', [])
instance: Mlog = super().update(instance, validated_data)
wm_in = instance.wm_in
batch_in = instance.batch
if wm_in:
batch_in = wm_in.batch
# 修改消耗
if instance.fill_way in [Mlog.MLOG_12, Mlog.MLOG_2]:
# 自动生成mlogb
if instance.material_in: # 有消耗的情况
batch_in = instance.batch
if wm_in:
batch_in = wm_in.batch
minx, _ = Mlogb.objects.get_or_create(
mlog=instance,
batch=batch_in,