我有两个与Foreignkey连接的表。我在主模型中有一个字段,它的值取决于子实例。
例如,如果我有一个库模型和一个图书模型,那么Book有Foriegnkey到Library。我们在图书馆模型中有一个字段,它等于图书馆里所有书籍的"total_price“。当我增加或减少某本书的数量时,我如何更新该字段"total_price“。
请注意,为了获得正确的值,我必须分别保存每个实例,。我在库中将图书作为一个TabularInline,所以我对数量进行更改并保存更改,然后再按一次保存以更改"total_price“字段。
发布于 2020-04-22 09:06:38
为了解决这个问题,我在保存子模型之后调用了主模型的保存方法。
class Book(models.Model):
library = models.Foreignkey(Library, on_delete = models.CASCADE)
....
def save(self, *args, **kwargs):
self.price = BookPrice(self)
super(Item, self).save(*args, **kwargs)
self.library.save() https://stackoverflow.com/questions/61344178
复制相似问题