保存前检查Django模型值

2024-04-26 18:35:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个三明治模型,它有一个配料列表属性(一个多对多关系,这样我就可以看到三明治使用配料,反之亦然)。我还有一个字段has_dairy,我想在基于检查成分属性保存模型时设置它。不幸的是,重写save方法不会剪切它,因为如果不先保存,就无法检查多对多字段的值。否则,你会出错。你知道吗

ValueError: "<Sandwich: test sandwich>" needs to have a value for field "sandwich" before this many-to-many relationship can be used.

理想情况下,我可以保存、更新has_dairy,然后再次保存,但是在save方法中调用super(Sandwich, self).save(*args, **kwargs)会两次抛出完整性错误,因为它需要一个未保存的状态。你知道吗

如何做到这一点?你知道吗


Tags: to方法模型列表属性关系savemany