Django admin中的递归关系

时间:2015-01-29 18:57:34

标签: recursion django-models django-admin relationship

我的模型看起来像:

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

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

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')

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

3 个答案:

答案 0 :(得分:1)

尝试更改

Class foo(model.Model): 

Class foo(models.Model):

答案 1 :(得分:0)

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

请记住,伙伴们,在模型发生一些变化后,总是进行迁移和迁移。不要重复我的错误。

答案 2 :(得分:0)

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

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