Django 管理中的递归关系

recursive relationship in Django admin

我的模型看起来像:

Class foo(model.Model):
    name = models.CharField(...)
    parent_foo = models.ForeignKey('self', blank = 'True')

接下来,我在管理中注册了这个,并尝试通过管理界面添加一些。但是出现错误:

IntegrityError at /admin/foo/add/
(1048, "Column 'foo_id' cannot be null")

制作

parent_foo = models.ForeignKey('self', blank='True', null='True')

没有帮助。

只做:

parent_foo = models.ForeignKey('self')

我不能,因为管理界面强制我填写字段。

尝试更改

Class foo(model.Model): 

Class foo(models.Model):

在我从其他机器上的 repo 检查出来后一切正常,我意识到实际上我没有将模型中的更改迁移到数据库中。

记住,伙计们,总是在你的模型稍微改变之后进行迁移和迁移。不要重蹈我的覆辙

您必须迁移数据库,以便您的数据库架构反映模型。

对于所有不知道该怎么做的人:https://docs.djangoproject.com/en/1.7/topics/migrations/