什么应该是非空唯一字段的默认值

时间:2015-10-07 15:33:52

标签: django django-models django-migrations

我在现有模型中添加了一个字段:

...
booking_id = models.CharField(null=False, unique=True, max_length=5)
...

现在,当我运行./manage makemigrations时,请求默认值。此值在pre_save信号中创建。在这种情况下,我应该给出什么默认值?

显然,如果我提供默认值,当我运行./manage migrate时,会引发django.db.utils.IntegrityError

1 个答案:

答案 0 :(得分:4)

使用null=True添加字段,然后创建迁移。然后添加数据迁移以填充该字段。最后,设置null=False并创建最终迁移以添加NOT NULL约束。