Django:删除唯一约束并创建迁移
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django:删除唯一约束并创建迁移相关的知识,希望对你有一定的参考价值。
我创建了一个模型并在Django中迁移,其中一个字段具有唯一的键约束。现在我正在尝试删除唯一约束并使用新更改生成另一个迁移文件,但它说“似乎没有任何更改”。
我尝试使用命令python manage.py schemamigration --auto
PS:我在场上使用OnetoOne关系。
答案
我想这会解决你的问题,
第1步:将您的models.py
更改为所需的格式
第2步:运行命令python manage.py makemigrations app_name
第3步:运行命令python manage.py migrate
另一答案
好问题。一对一关系意味着一条记录唯一地与另一条记录相关联。即使代码中的唯一约束被明确删除(对于一对一字段),它也不会反映在您的数据库中。因此它不会创建任何迁移文件。
如果你为外来约束尝试相同的东西,它将工作。
另一答案
我发现django自动迁移文件生成有问题且不完整。
实际上我昨天遇到了django迁移的另一个类似问题。
我是如何解决的:
- 从/ migrations文件夹中删除所有迁移文件
- 做一个新的makemigrations
- 运行
python manage.py migrate --fake
所以django不会尝试重建.. - 嘿presto!工作和模型更新:D
以上是关于Django:删除唯一约束并创建迁移的主要内容,如果未能解决你的问题,请参考以下文章