Django:ForeignKey的值可以是None吗?

时间:2010-02-06 21:59:59

标签: python database django foreign-keys

我有一个名为SimplePage的模型,其中我有这一行:

category = models.ForeignKey('Category', related_name='items',
                             blank=True, null=True)

我认为这将允许我拥有没有Category的SimplePage实例。

但出于某种原因,当我尝试在Admin中创建一个没有类别的SimplePage时,我得到:

IntegrityError at /admin/sitehelpers/simplepage/add/
sitehelpers_simplepage.category_id may not be NULL

这是什么?

1 个答案:

答案 0 :(得分:9)

在为该模型执行null=True后,您是否可能添加了syncdb属性? Django不会更改数据库表,只会创建它们。如果该列允许NULL,请检入您的数据库并手动更改。

编辑:从Django 1.7开始,这个答案和评论不再有效,因为Django获得了一个功能齐全的migration framework