Django で SQL クエリを検査する方法
クエリの実行時に Django が実行する SQL ステートメントを知りたいですか?答えは簡単です:
1. ドキュメントから答えを見つけます
Django ドキュメントの FAQ セクションに簡単な答えが記載されています:
2データベースへのアクセス 接続
は、django.db.connection.queries を通じて SQL クエリ リストにアクセスできます:
<code class="python">from django.db import connection print(connection.queries)</code>
3. Queryset オブジェクト
を表示します。 Queryset オブジェクトにはクエリ属性があり、実行されるクエリが含まれています:
<code class="python">print(MyModel.objects.filter(name="my name").query)</code>
注: によって出力されるクエリは有効な SQL ではありません。その理由は次のとおりです:
「Django は実際にパラメーターを補間することはありません。Django はクエリとパラメーターを別々にデータベース アダプターに送信し、データベース アダプターが適切な操作を実行します。」 (Django バグ レポート #17741 から引用) )
したがって、クエリ出力をデータベースに直接送信しないでください。
クエリのリセット特定の期間内に実行されたクエリの数を確認するなど、クエリをリセットする必要がある場合は、 django.db.reset_queries を使用できます。 🎜>
以上がDjango によって実行された SQL クエリを検査するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。