Maison > développement back-end > Tutoriel Python > Comment puis-je afficher les requêtes SQL effectuées par Django ?

Comment puis-je afficher les requêtes SQL effectuées par Django ?

DDD
Libérer: 2024-11-04 06:53:30
original
552 Les gens l'ont consulté

How Can I View SQL Queries Performed by Django?

Affichage des requêtes SQL effectuées par Django

Lors de l'exécution de requêtes, Django exécute des commandes SQL qui ne sont souvent pas visibles pour les développeurs. Cependant, il existe des méthodes pour observer ces requêtes et inspecter leur contenu.

Accéder aux listes de requêtes

Django stocke une liste de toutes les requêtes exécutées dans django.db.connection. requêtes. Pour afficher ces requêtes :

<code class="python">from django.db import connection
print(connection.queries)</code>
Copier après la connexion

Récupérer la requête des ensembles de requêtes

Les ensembles de requêtes, représentant les requêtes de base de données, ont un attribut de requête qui contient le SQL brut à exécuter :

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

Remarque sur les limitations de sortie

Il est important de noter que le SQL affiché peut ne pas être syntaxiquement valide car :

"Django n'interpole jamais réellement les paramètres : il envoie la requête et les paramètres séparément à l'adaptateur de base de données, qui effectue les opérations appropriées."

Cela signifie que la requête affichée ne peut pas être exécutée directement sur une base de données.

Réinitialisation des requêtes

Si vous devez réinitialiser la liste des requêtes, par exemple, pour compter les requêtes exécutées au cours d'une période spécifique, utilisez reset_queries de django.db :

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

reset_queries()
# Run your query here
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