我想在我的模型中向现有字段添加一些db_index。我刚刚将db_index=True
添加到模型中。
我在想我需要运行python manage.py migrate
才能将它们应用到数据库中。我的问题是没有检测到任何更改,因此没有创建迁移。这是正常行为吗?
或者是否有我不知道的特定行为?
谢谢。
答案 0 :(得分:1)
如果您对SQL有足够的了解,您仍然可以使用RunSQL手动创建迁移。
例如:(使用PostgreSQL语法)
class Migration(migrations.Migration):
dependencies = [
('your_app', '0001_initial'), # or last mig
]
operations = [
migrations.RunSQL("CREATE INDEX my_table_my_column_ind ON my_table (my_colum)"),
]
答案 1 :(得分:0)
您可以使用index_together
class YourModel(models.Model):
# ...
class Meta:
index_together = ["field_that_needs_index"]
然后makemigration应该工作