Python 将db_index=True添加到已经有大量数据的Django模型中

Python 将db_index=True添加到已经有大量数据的Django模型中,python,django,django-models,Python,Django,Django Models,我想通过添加db_index=True向已经存在的Django模型字段添加索引。相应的表在数据库中已经有很多数据。将db_index=True添加到字段中是否会在迁移新更改后自动为值编制索引?理想情况下,是的。这将在sql表中创建一个索引。因此,每当运行迁移时,表都会添加索引 如果您想尝试硬编码,您可以在迁移脚本中添加它到转发方法中。它可能看起来像这样 db.execute("CREATE INDEX my_index on table_name(col_name)", params=[])

我想通过添加
db_index=True
向已经存在的Django模型字段添加索引。相应的表在数据库中已经有很多数据。将
db_index=True
添加到字段中是否会在迁移新更改后自动为值编制索引?

理想情况下,是的。这将在sql表中创建一个索引。因此,每当运行
迁移时,表都会添加索引

如果您想尝试硬编码,您可以在迁移脚本中添加它到转发方法中。它可能看起来像这样

db.execute("CREATE INDEX my_index on table_name(col_name)", params=[])

它应该会起作用。但是首先要做一个数据库备份。您可能需要在
db_index=models.BooleanField(默认值=True)
数据库在添加db_index=True后在迁移后添加了索引。