ホームページ  >  記事  >  バックエンド開発  >  Django によって実行された SQL クエリを検査するにはどうすればよいですか?

Django によって実行された SQL クエリを検査するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-02 16:59:03733ブラウズ

How Can I Inspect the SQL Queries Executed by Django?

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 サイトの他の関連記事を参照してください。

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