2017-12-13 18 views
1
SELECT typarray FROM pg_type WHERE typname = 'citext' 

なぜ私はdjangoデバッグパネルでこのクエリを取得しているのですか?新しいページに移動するたびに、このクエリーは1番目のものとして実行され、次に他のすべてのものとして実行されます。これは、pythonシェルでconnection.queriesコマンドを使用した場合と同じことです。私はdjango 1.11とpostgres 9.6を使用しています。SELECT typarray from pg_type where typname = 'citext'

答えて

0

citexは、PostgreSQLの拡張であり、次のクエリは、このクエリを使用すると、ページがロードされるたびに実行されている参照なぜpsycopg2

と拡張子を登録するにはDjangoの側にpg_typeを照会するために実行する必要があるので、決まったtyparrayを持っていませんDjango 2.0用にソートされているように内部でキャッシュされていないためです。

citextがバージョン1.11前後のDjangoに実装されているため、次のクエリは1.11より前のDjangoバージョンでは呼び出されません。

+1

Hvala na odgovoru。 – Horion

+0

あなたは歓迎です、ここで犯人コードを見ることができます:) https://github.com/django/django/blob/stable/1.11.x/django/contrib/postgres/signals.py – iklinac

関連する問題