【发布时间】:2012-02-27 22:29:09
【问题描述】:
我有一个模型(父模型)与另一个模型(子模型)具有一对多关系。 Parent模型的save方法被覆盖:
class ParentModel(models.Model)
(...)
def save(self, *args, **kwargs):
(...) # Do sth with the model
super(ParentModel, self).save(*args, **kwargs)
class ChildModel(models.Model):
parent= models.ForeignKey(ParentModel)
在管理面板中,多个子模型对象在父模型页面上使用 StackedInline 显示。如果父字段被编辑和保存,则调用 save 方法。当只有子字段被编辑时,Django 不会调用父的 save 方法(正如预期的那样,因为没有任何改变)。
强制保存父级的最佳方法是什么,即使只编辑了子级(这样我的覆盖方法就可以了)?
【问题讨论】:
-
您希望您的方法仅在从 Admin 编辑内联时调用,还是在保存 ChildModel 时调用?
-
它只能在管理员中编辑,所以以更简单的为准。
标签: python django django-admin