Django - None vs. Null

时间:2014-08-20 08:42:59

标签: python django

我将ForeignKey设置为on_delete=models.SET_NULL, null=True但是我很困惑,我只是想要如果FK被删除,所有其他关系应该保留在db中。

的结果
on_delete=models.SET_NULL, null=True

on_delete=models.SET_DEFAULT, default=None
为了我的目的,这是一样的吗?

1 个答案:

答案 0 :(得分:2)

是。这将获得相同的结果。

但是,您应该在两个示例中设置null=True,因为它决定数据库级别的字段是否为NULL。

在第一个示例中,您没有默认值。这只是意味着您必须在将对象保存到数据库之前设置该值。

我会选择on_delete=models.SET_NULL, default=None, null=True