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

问题描述 投票:0回答:3

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

我尝试使用命令python manage.py schemamigration --auto

PS:我在场上使用OnetoOne关系。

django python-2.7 django-models
3个回答
0
投票

我想这会解决你的问题,

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


0
投票

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

如果你为外来约束尝试相同的东西,它将工作。


0
投票

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

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

我是如何解决的:

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