我有一个名为 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/