创建Django模型时出现“parent_id不能为空”错误
我正在创建自己的 Group
模型;我不是在说内置的 Group
模型。我希望每个小组都能成为另一个小组的成员(也就是它的父组),但有一个“顶级”小组是没有父组的。
管理界面不允许我创建一个没有输入父组的小组。我收到的错误是 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)
我该怎么做才能实现这个呢?
谢谢。
2 个回答
0
Django的演变可以帮助你解决这类问题,而不需要完全删除你的数据库。
7
我在给parent
字段添加blank=True, null=True
之前就创建了数据库。syncdb无法处理这种类型的变化,所以Django没有识别到我的修改。
我删除了我的数据库,然后让syncdb重新创建了一个,这样就没问题了。