Django の強力な ORM はデータベースの対話を簡素化しますが、場合によっては、実行されている生の SQL クエリを検査することが非常に有益です。この記事では、デバッグと最適化のためにこれらの SQL ステートメントを取得して分析する方法を説明します。
Django によって生成された生の SQL クエリにアクセスするには、いくつかの方法があります:
django.db.connection.queries: 現在のデータベース接続によって実行される SQL クエリのリストが含まれます:
<code class="language-python"> from django.db import connection print(connection.queries)</code>
クエリセット: 各クエリセットには、実行する SQL クエリを格納するクエリ属性があります:
<code class="language-python"> print(MyModel.objects.filter(name="my name").query)</code>
注: Django のクエリ出力は有効な SQL ではありません。データベース アダプタはパラメータを個別に挿入するため、適切な検証なしで直接実行することはできません。
Django によって追跡されるクエリのリストをリセットするには、reset_queries 関数を使用します。
<code class="language-python">from django.db import reset_queries from django.db import connection reset_queries() # 在此处运行您的查询 print(connection.queries) >>> []</code>
以上がDjango で生の SQL クエリを表示および管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。