Postgres 9.6でDjango 1.8を使用しています。Django ArrayFieldを索引付けするかどうかを指定します。
packages = ArrayField(models.CharField(max_length = 200), blank = True)
最初の質問は、私はそれにインデックスを追加する必要があります:私のモデルの 一つはArrayFieldを持っていますか? ドキュメント
現在、db_indexを使用するとbtreeインデックスが作成されます。これは、 は特に重要なクエリを提供していません。より有用なインデックス はGINインデックスであり、RunSQL操作を使用して作成する必要があります。
しかし、私はそれをどうすればいいのかはっきりしません。
"はい"の場合、2番目の質問は、 "db_index = True"をどこに配置するかです。 Djangoのドキュメントは言うことだように?:
packages = ArrayField(models.CharField(db_index = True, max_length = 200), blank = True)
あなたは何を決定しましたか? – e4c5
あなたの答えに続いて、配列フィールドを検索しないようにしましたので、インデックスを追加しませんでした。配列フィールドを使うのは良い習慣ではなく、将来私がそれらを検索する必要はないと確信していない限り、将来的にそれらを避けることに少し失望しています。 –
私はあなたにこれをするよう説得することができてうれしいです:-) – e4c5