save() prohibited to prevent data loss due to unsaved related object 'item_n

2023-07-12,,

问题描述:

  save() prohibited to prevent data loss due to unsaved related object 'item_no

原因分析:

  原来的目的是保存数据时同步另一个表,不存在新增,存在更新,但是当不存在新增时,关联外键item_no的信息还没有保存,就开始编辑关联表,导致数据丢失。

解决办法:

  等主表的数据保存成功后再去同步编辑关联表,所以我们需要将super().save()的保存命令放到字表update_or_create之前。

def save(self, force_insert=False, force_update=False, using=None,
update_fields=None):
super().save()
IM003D1Model.objects.update_or_create(item_code=self.item_no + '-' + self.item_unit.code,
unit_ratio=1,
su_price=0,
cu_price=0,
cu_price_vip=0,
defaults={'item_no': self,
'item_unit': self.item_unit}
)

save() prohibited to prevent data loss due to unsaved related object 'item_n的相关教程结束。

《save() prohibited to prevent data loss due to unsaved related object 'item_n.doc》

下载本文的Word格式文档,以方便收藏与打印。