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>
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>
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>
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!