【发布时间】:2011-10-15 15:02:35
【问题描述】:
我正在开发一个系统,用户需要匹配来自多个模型的模型字段。为了帮助他们,我创建了一个“is_orphan”布尔字段来指示所需的关系(在本例中为外键)是否应该存在但还不存在。它作为保存例程的一部分进行更新 - 示例如下:
class Caption(models.Model):
caption = models.TextField()
is_orphan = models.BooleanField()
def save(self, *args, **kwargs):
art_set = self.art_set.all()
if len(art_set) != 0:
self.is_orphan = False
else:
self.is_orphan = True
super(Caption, self).save(*args, **kwargs)
我的问题是,当我使用管理员从关系的另一端(艺术)释放标题时,除非我通过标题保存例程,否则不会反映标题孤儿状态的变化。每当用户将与标题关联的艺术更改为新标题或根本没有标题时,是否有办法在 Art 模型中自动更新 caption.is_orphan?
【问题讨论】:
-
我不明白你想要什么,但我想你需要重写 Art 模型的保存方法,而不是 Caption 并且在
self.is_orfan中你更改为self.caption.is_orphan。我可以看到 Art 的模型结构吗?
标签: python django django-models django-admin