Maison > base de données > tutoriel mysql > Comment puis-je voir les requêtes SQL exécutées par mon application Django ?

Comment puis-je voir les requêtes SQL exécutées par mon application Django ?

DDD
Libérer: 2025-01-18 13:26:39
original
228 Les gens l'ont consulté

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

Compréhension approfondie des requêtes SQL de Django

Django, en tant qu'excellent framework de développement Web, utilise des requêtes SQL pour interagir avec des bases de données relationnelles. Pour mieux comprendre les interactions avec la base de données de Django, les utilisateurs peuvent souhaiter visualiser les requêtes SQL brutes exécutées lors d'une opération de requête.

Utilisez les méthodes Django pour révéler les détails de la requête

Django propose plusieurs façons de visualiser les requêtes SQL brutes qu'il génère. Une solution consiste à utiliser django.db.connection.queries, qui compile une liste des requêtes SQL exécutées. En tirant parti de cette propriété, les utilisateurs peuvent imprimer la requête pour comprendre sa structure et ses détails.

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

print(connection.queries)</code>
Copier après la connexion

Alternativement, queryset a un attribut query qui contient la requête à exécuter. Cette propriété permet aux développeurs d'accéder à l'instruction SQL sous-jacente, révélant la commande spécifique que Django souhaite envoyer à la base de données.

<code class="language-python">print(MyModel.objects.filter(name="my name").query)</code>
Copier après la connexion

Remarque : décodage des requêtes non traitées

Il est important de noter que le résultat que vous obtenez des méthodes de requête de Django n’est pas du SQL pur. Django utilise une approche différente, dans laquelle il envoie la requête et les paramètres séparément à l'adaptateur de base de données, qui effectue ensuite les opérations appropriées. Par conséquent, tenter d’envoyer le résultat de la requête directement à la base de données peut entraîner un comportement inattendu.

Réinitialiser la requête pour l'analyse des performances

Pour aider à suivre le nombre de requêtes exécutées pendant une période de temps spécifique, Django fournit la fonction django.db dans reset_queries. Cette fonction permet à l'utilisateur de réinitialiser le nombre de requêtes, permettant ainsi l'isolement et la mesure des requêtes exécutées dans un intervalle de temps spécifique.

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

reset_queries()
# 在此处运行您的查询
print(connection.queries)
>>> []</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal