ホームページ >データベース >mysql チュートリアル >Django で生の SQL クエリを表示および管理するにはどうすればよいですか?

Django で生の SQL クエリを表示および管理するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-18 13:42:11861ブラウズ

How Can I View and Manage Raw SQL Queries in Django?

Django で生の SQL クエリを表示

Django の強力な ORM はデータベースの対話を簡素化しますが、場合によっては、実行されている生の SQL クエリを検査することが非常に有益です。この記事では、デバッグと最適化のためにこれらの 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。