Django:删除唯一约束并创建迁移

时间:2018-02-26 13:11:36

标签: django python-2.7 django-models

我创建了一个模型并在Django中迁移,其中一个字段具有唯一的键约束。现在我正在尝试删除唯一约束并使用新更改生成另一个迁移文件,但它说"似乎没有任何更改"。

我尝试了这个命令 python manage.py schemamigration --auto

PS:我正在使用OnetoOne关系。

3 个答案:

答案 0 :(得分:0)

我发现django自动迁移文件生成有问题且不完整。

实际上我昨天遇到了django迁移的另一个类似问题。

我是如何解决的:

  • 从/ migrations文件夹中删除所有迁移文件
  • 做一个新鲜的makemigrations
  • 运行python manage.py migrate --fake所以django不会尝试重建..
  • 嘿嘿!工作和模型更新:D

答案 1 :(得分:0)

我认为这可以解决您的问题,

第1步:将models.py更改为所需的格式
第2步:运行命令python manage.py makemigrations app_name
第3步:运行命令python manage.py migrate

答案 2 :(得分:0)

好问题。一对一关系意味着一条记录唯一地与另一条记录相关联。即使代码中的唯一约束被明确删除(对于一对一字段),它也不会反映在您的数据库中。因此它不会创建任何迁移文件。

如果您对外部约束尝试相同的操作,它将起作用。