2017-10-19 10 views
1

db_index = Trueのdjangoで実行しているraw SQLクエリを誰でも指定できますか?db_indexをTrueと変更する必要があるモデルフィールドがありますが、多くのdbプロセス並行して実行、djangoのdb_indexをraw SQLクエリとして

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

あなたがモデルにdb_index=Trueを追加しmakemigrationsを実行する場合、この変更

答えて

1

の生psqlのクエリがどうなるか、あなたはデータベースバックエンド用のSQLコマンドを表示するにはsqlmigrateを使用することができます。 postgresのために

python manage.py sqlmigrate my_app 000X_migration_name 

、これは次のようなSQLを生成します: `2e338adc`の略ん

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

何?それは生成されたIDか、このクエリを実行するときにランダムなものを使用できますか? –

+0

Alasdairに感謝します。 –

関連する問題