我有一个 uuid
字段(不是主键)。生成的迁移是:
from __future__ import unicode_literals
from django.db import migrations, models
import uuid
class Migration(migrations.Migration):
dependencies = [
....
]
operations = [
...
migrations.AddField(
model_name='device',
name='uuid',
field=models.UUIDField(default=uuid.uuid4, unique=True),
),
...
]
但是当做 python manage.py migrate
的时候,它就崩溃了:
IntegrityError: 无法创建唯一索引 “ Restaurant _ device _ uuid _ Key”详细信息: Key (uuid) = (f3858ded-b8e0-4ac0-8436-8a61b10efc73)被复制。
奇怪的是,主键似乎没有出现问题(主键可能是由数据库创建的,而不是由 django 在内部创建的)
如何添加 uuid 字段,并确保迁移正常工作?