Maison >base de données >tutoriel mysql >Comment puis-je récupérer la requête SQL sous-jacente à partir d'un QuerySet Django ?

Comment puis-je récupérer la requête SQL sous-jacente à partir d'un QuerySet Django ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-07 14:51:40600parcourir

How Can I Retrieve the Underlying SQL Query from a Django QuerySet?

Identification de la source du comportement du QuerySet de Django : récupération du SQL sous-jacent

Dans Django, les objets QuerySet résument le processus d'interrogation de la base de données. Cependant, les développeurs ont parfois besoin d'informations sur les requêtes SQL spécifiques exécutées sur la base de données, en particulier lors du débogage d'un comportement inattendu.

Récupération du SQL sous-jacent

Pour obtenir le SQL réel que Django exécutera, accédez à l'attribut de requête de l'objet QuerySet :

queryset = MyModel.objects.all()
print(queryset.query)

Cela affichera l'instruction SQL qui sera exécutée sur le base de données.

Exemple de sortie

Pour le QuerySet donné, il peut produire le SQL suivant :

SELECT "myapp_mymodel"."id", ... FROM "myapp_mymodel"

Cette sortie fournit des informations précieuses pour le dépannage et comprendre les interactions de base de données initiées par l'application Django.

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!

Déclaration:
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