gpt4 book ai didi

django - 从我的模型字段中将 unique=True 更改为 unique=False

转载 作者:行者123 更新时间:2023-12-04 14:29:42 26 4
gpt4 key购买 nike

我的模型中有一个这样的字段 name = models.CharField(max_length=100, unique=True) 但现在该表/模型有很多数据,需要更改TrueFalse 但无需删除表格并重新创建它,我该怎么做?

最佳答案

使用以下方法生成新迁移:

python manage.py makemigrations

以上将检测模型的更改并生成迁移类,但尚未执行任何 sql。

生成/应用sql到数据库:

python manage.py migrate

如果您想在更新数据库之前查看将要执行的 sql,请在 migrate 之前执行此操作:

python sqlmigrate {app_label} {migration_module}

编辑:上面的代码将重命名您的表,后缀为__old,创建一个新表并将数据从旧表插入到新表中,然后删除原始表 table 。所以不确定这是否是您想要的..

另一种选择是使用纯 sql 来实现您想要的:

ALTER TABLE table_name DROP CONSTRAINT constraint_name;

但请记住,为了让您的迁移在新运行时保持更新,请找到将您的字段声明为唯一的迁移类,并将 unique=True 更改为 unique=False。如果需要更新任何其他服务器,您也可以在那里运行 drop constraint 命令,以便一切都同步。

关于django - 从我的模型字段中将 unique=True 更改为 unique=False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37058456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com