django中的db_index为原始sql查询

时间:2017-10-19 17:06:58

标签: django python-3.x django-models django-rest-framework psql

任何人都可以在django中指定为db_index = True执行的原始sql查询,我有一个模型字段,我需要将其更改为db_index为True,但我的rds服务器崩溃,因为很多db进程并行运行,

url = models.CharField(db_index=True,max_length=100, blank=True)

此更改的原始psql查询是什么

1 个答案:

答案 0 :(得分:1)

如果您将db_index=True添加到模型然后运行makemigrations,则可以使用sqlmigrate显示数据库后端的SQL命令。

python manage.py sqlmigrate my_app 000X_migration_name

对于postgres,这将生成类似于以下内容的SQL:

BEGIN;
--
-- Alter field url on mymodel
--
CREATE INDEX "myapp_mymodel_url_2e338adc" ON "myapp_mymodel" ("url");
CREATE INDEX "myapp_mymodel_url_2e338adc_like" ON "myapp_mymodel" ("url" varchar_pattern_ops);
COMMIT;