Django によって実行される SQL クエリのクエリ
Django は、データベースの対話を簡素化する強力な Web 開発フレームワークです。ただし、クエリ操作中に実行される基礎となる SQL クエリを理解することは有益です。この記事では、Django によって生成された生の SQL クエリにアクセスする方法について説明します。
django.db.connection.queries を使用した SQL クエリへのアクセス
SQL を表示する簡単な方法queries は django.db.connection.queries にアクセスすることです。この属性は、Django によって実行される SQL クエリのリストを保持します。次のコードは、その使用法を示しています。
<code class="python">from django.db import connection print(connection.queries)</code>
クエリセットのクエリ属性の検査
もう 1 つのアプローチは、クエリセットのクエリ属性を利用することです。各クエリセットはデータベース操作のセットを表します。 query 属性には、実行されるクエリが保持されます。次の例は、この方法を示しています。
<code class="python">print(MyModel.objects.filter(name="my name").query)</code>
制限事項について
クエリ属性の出力が有効な SQL ではないことに注意することが重要です。 Django はクエリとパラメータを分離し、別々にデータベースに送信します。したがって、クエリ出力をデータベースに直接送信すると、エラーが発生する可能性があります。
django.db.reset_queries() によるクエリのリセット
クエリのリストをリセットするには、特定の時間枠内に実行されたクエリの数を測定する場合など、django.db.reset_queries() を利用できます。次の例は、その使用方法を示しています:
<code class="python">from django.db import reset_queries from django.db import connection reset_queries() # Run your query here print(connection.queries) # Will now be empty</code>
以上がDjango の基礎となる SQL クエリにアクセスして理解するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。