2017-10-19 109 views
1

任何人都可以指定原始SQL查询在Django一个db_index = True执行,我有我需要db_index作为真正改变一个模式场,但由于很多分贝过程中我的RDS服务器崩溃并行运行,db_index在Django作为原始SQL查询

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

会有什么原料PSQL查询这种改变

回答

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; 
+0

是什么'2e338adc'代表什么吗?这是任何生成的ID或我可以使用任何随机一个,当我执行此查询 –

+0

谢谢阿拉斯代尔,它工作完美 –