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.
Access Query lists
django stocke une liste de toutes les requêtes exécutées dans django.db.connection. requêtes. Pour afficher ces requêtes:
from django.db import connection
print(connection.queries)
Récupérer des requêtes à partir de quereysets
Querysets, représentant des requêtes de base de données, ayez un attribut de requête qui contient le SQL brut à exécuter:
print(MyModel.objects.filter(name="my name").query)
Remarque sur les limitations de sortie
that the displayed SQL may not be syntactically valid as:
"Django never actually interpolates the parameters: it sends the query and the parameters separately to the database adapter, which performs the appropriate operations."
Cela signifie que la requête affichée ne peut pas être directement exécutée sur une base de données.
Réinitialiser les requêtes
Si vous devez réinitialiser la liste des requêtes, par exemple, pour compter les requêtes Exécutez dans une période spécifique, utilisez Reset_Queries à partir de django.db:
from django.db import reset_queries
from django.db import connection
reset_queries()
# Run your query here
print(connection.queries)
>>> []
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3