ホームページ > データベース > mysql チュートリアル > Django アプリケーションによって実行された SQL クエリを確認するにはどうすればよいですか?

Django アプリケーションによって実行された SQL クエリを確認するにはどうすればよいですか?

DDD
リリース: 2025-01-18 13:26:39
オリジナル
227 人が閲覧しました

How Can I See the SQL Queries Executed by My Django Application?

Django の SQL クエリについての深い理解

Django は、優れた Web 開発フレームワークとして、SQL クエリを使用してリレーショナル データベースと対話します。 Django のデータベース インタラクションをより深く理解するために、ユーザーはクエリ操作中に実行された生の SQL クエリを表示したい場合があります。

Django メソッドを使用してクエリの詳細を明らかにします

Django は、生成した生の SQL クエリを表示するいくつかの方法を提供します。 1 つの方法は、実行された SQL クエリのリストをコンパイルする django.db.connection.queries を使用することです。このプロパティを利用すると、ユーザーはクエリを印刷してその構造と詳細を理解できます。

<code class="language-python">from django.db import connection

print(connection.queries)</code>
ログイン後にコピー

あるいは、queryset には、実行されるクエリを含む query 属性があります。このプロパティにより、開発者は基礎となる SQL ステートメントにアクセスし、Django がデータベースに送信したい特定のコマンドを明らかにすることができます。

<code class="language-python">print(MyModel.objects.filter(name="my name").query)</code>
ログイン後にコピー

注: 未処理のクエリのデコード

Django のクエリ メソッドから取得する出力は純粋な SQL ではないことに注意することが重要です。 Django は別のアプローチを使用し、クエリとパラメーターをデータベース アダプターに個別に送信し、データベース アダプターが適切な操作を実行します。したがって、クエリ出力をデータベースに直接送信しようとすると、予期しない動作が発生する可能性があります。

パフォーマンス分析用のクエリをリセット

特定の期間中に実行されたクエリの数を追跡しやすくするために、Django は django.dbreset_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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート