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/
我的模型看起来像:
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/