django:删除时删除django的级联行为
我在django开发中面临一个问题。实际上,我创建了一个模型,其中包括其他4个模型的外键。现在我在管理站点使用这些模型。问题是,当我删除一条在我的主模型中用作外键的记录时,这个删除过程也会从我的主模型中删除该记录。我要求,如果一个模型包含任何其他模型的forign密钥,那么如果我从admin中删除此外键模型记录,则不必从使用此模型作为外键的模型中删除任何记录 有人知道我如何停止这种“删除级联”吗 我将非常感谢你。django:删除时删除django的级联行为,django,Django,我在django开发中面临一个问题。实际上,我创建了一个模型,其中包括其他4个模型的外键。现在我在管理站点使用这些模型。问题是,当我删除一条在我的主模型中用作外键的记录时,这个删除过程也会从我的主模型中删除该记录。我要求,如果一个模型包含任何其他模型的forign密钥,那么如果我从admin中删除此外键模型记录,则不必从使用此模型作为外键的模型中删除任何记录 有人知道我如何停止这种“删除级联”吗 我将非常感谢你。 关于覆盖MyObj.delete()要迭代所有要保留的键控关系,请将它们对要删除的
关于覆盖
MyObj.delete()
要迭代所有要保留的键控关系,请将它们对要删除的对象的引用设置回null。然后,一旦所有关系都被解除挂钩,调用super(MyObj,self).delete()
您可能需要更新数据库(和模型定义),以允许您正在解钩的键为null=True。在一段时间内,“删除”属性上有
,可以为ForeignKey
字段设置该属性。Django文档中的示例:
user = models.ForeignKey(User, blank=True, null=True, on_delete=models.SET_NULL)