クエリーセットを検査し、どのフィルター/除外が適用されたかについての情報を得る方法はありますか?Django:クエリーセットを調べて適用されたフィルターを取得する
私はデバッグのためにそれを必要とする:私のクエリセットは、いくつかのデータを除外し、なぜあなたは、シェルでデバッグする場合、私は...
クエリーセットを検査し、どのフィルター/除外が適用されたかについての情報を得る方法はありますか?Django:クエリーセットを調べて適用されたフィルターを取得する
私はデバッグのためにそれを必要とする:私のクエリセットは、いくつかのデータを除外し、なぜあなたは、シェルでデバッグする場合、私は...
行うことは容易ようではありません。各フィルタはクエリオブジェクトに異なる方法で適用されるので、きれいに配置された"filter1", "filter2", "filter3"
を見つけることはできません。
チェックアウトmyqueryset.query.__dict__
- 入力フィルタは関連する領域にすぐに分割され、レコードは保存されません。 django.db.models.sql.query.Query
の詳細。
代わりにSQLをチェックアウトします。
print myqueryset.query
を理解することはできません。
from django.db import connection
print connection.queries
ブラウザの使用中の要求を行っている場合ジャンゴデバッグツールバーは、それは素晴らしいツールだと非常に役に立つことができます:
もしあなたがまだいないのであれば、 'QuerySet.query'メソッドを使ってSQLの外観を見ることができます。多分それが助けになるでしょう。 –