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

Goc*_*cht 3 django django-models django-migrations

我正在向现有模型添加一个字段:

...
booking_id = models.CharField(null=False, unique=True, max_length=5)
...
Run Code Online (Sandbox Code Playgroud)

现在,当我运行时./manage makemigrations,要求一个默认值。该值是在pre_save信号中创建的。在这种情况下,我应该给出什么作为默认值?

显然,如果我给出一个默认值,当我运行./manage migrate这会引发django.db.utils.IntegrityError

Ala*_*air 7

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