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