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

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

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

但是出于某种原因,当我尝试在没有类别的 Admin 中创建 SimplePage 时,我得到:
IntegrityError at /admin/sitehelpers/simplepage/add/
sitehelpers_simplepage.category_id may not be NULL

这是什么?

最佳答案

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

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

关于python - Django:ForeignKey 的值可以为 None 吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2214909/

10-11 05:51