2017-10-19 108 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

謝謝阿拉斯代爾,它工作完美 –