我将ForeignKey设置为on_delete=models.SET_NULL, null=True
但是我很困惑,我只是想要如果FK被删除,所有其他关系应该保留在db中。
是
的结果on_delete=models.SET_NULL, null=True
和
on_delete=models.SET_DEFAULT, default=None
为了我的目的,这是一样的吗?
答案 0 :(得分:2)
是。这将获得相同的结果。
但是,您应该在两个示例中设置null=True
,因为它决定数据库级别的字段是否为NULL。
在第一个示例中,您没有默认值。这只是意味着您必须在将对象保存到数据库之前设置该值。
我会选择on_delete=models.SET_NULL, default=None, null=True