创建 Django 模型时出现“parent_id may not be NULL”
Posted
技术标签:
【中文标题】创建 Django 模型时出现“parent_id may not be NULL”【英文标题】:I get "parent_id may not be NULL" when creating my Django model 【发布时间】:2010-10-25 04:22:08 【问题描述】:我正在创建自己的Group
模型;我不是指内置的Group
模型。我希望每个 hroup 成为另一个组的成员(它是父组),但是有一个“***”组没有父组。
管理界面不允许我在未输入父级的情况下创建组。我收到错误personnel_group.parent_id may not be NULL
。我的Group
模型如下所示:
class Group(models.Model):
name = models.CharField(max_length=50)
parent = models.ForeignKey('self', blank=True, null=True)
order = models.IntegerField()
icon = models.ImageField(upload_to='groups', blank=True, null=True)
description = models.TextField(blank=True, null=True)
我怎样才能做到这一点?
谢谢。
【问题讨论】:
所以实际上标题应该是:为什么syncdb失败,当我将blank=True,null=True添加到模型字段时 【参考方案1】:Django 进化可以让你摆脱这种问题,而不会删除你的完整数据库
【讨论】:
【参考方案2】:我在将 blank=True, null=True
添加到 parent
字段定义之前创建了数据库。 syncdb 无法处理这种类型的更改,因此 Django 没有接受我的更改。
我删除了我的数据库并让syncdb创建另一个,它工作正常。
【讨论】:
您应该考虑使用像 South 这样的数据库方案迁移工具。 有没有更好的方法来代替删除整个数据库? @niklasfi 如果您使用 South,则无需删除数据库。以上是关于创建 Django 模型时出现“parent_id may not be NULL”的主要内容,如果未能解决你的问题,请参考以下文章
api rest 调用更新 django 模型时出现错误 415
在我更改了一些模型字段(Django)之后,尝试访问 django admin 时出现 /admin/myapp/mymodel 的 TypeError
在 Django 1.8 或更高版本中填充时出现“模型尚未加载”错误