当主外键更新时,Django会自动更新子记录吗?

时间:2012-01-05 15:08:54

标签: django foreign-keys cascade

当主外键更新时,Django会自动更新子记录吗?是否可以禁用。

我可以在Django文档中看到on.delete函数但不能看到on.update函数。

/ vfclistsGUY

1 个答案:

答案 0 :(得分:2)

除非你告诉孩子,否则Django根本不接触孩子们。即使在DELETE CASCADE的情况下,这是数据库级别的强制执行,而不是Django。

如果您正在为子项使用内联formset以及主对象的表单(或使用admin中的内联...同样的事情),那么Django将更新子项如果那么改变他们。否则,不,Django什么都不做。

如果您需要在保存时更新子项,则应覆盖模型的save方法,以便对子项执行任何操作,或使用post_save信号。