Je sais que vous pouvez émettre le SQL pour voir les tables créées. Est-il possible pour Django de sortir le SQL utilisé pour toute requête comme: ? Je ne pouvais pas trouver cela dans les docs, j'espère que quelqu'un peut les signaler à moi, si en fait Django peut le faire. P> p>
3 Réponses :
Je trouve le Barre d'outils Django Debug pour être inestimable. Il y a aussi .AS_SQL () pour l'affichage en code de choses (voir Ceci alors post pour une note qui est une bonne ligne dedans) p>
Voir Django FAQ: Comment puis-je voir les requêtes SQL brutes Django est en cours d'exécution? :
>>> from django.db import connection >>> connection.queries = [] >>> Protocols.objects.filter(active=False) >>> print connection.queries
Génial, je ne sais pas comment je n'ai pas vu ça avant.
C'est très bon mais le problème est que certaines requêtes peuvent être effacées. Vous devez savoir où mettre les instructions. Et si je veux voir toutes les questions sans la connaissance?
Je veux dire que parfois vous ne pouvez voir pas toutes les instructions SQL si vous localisez la sortie uniquement au même endroit.
@Sergzach: Alors .. Localisez la sortie où vous en avez besoin?
Mise à jour: sauf si vous avez besoin d'un journal complet SQL, vous pouvez également vérifier vos journaux de base de données, django.db python journal (en mode débogage) ou utiliser Dev Server qui enregistre SQL à la console (je ne me souviens pas de ce qui l'ajout. est dans)
oui ça peut. Vous devez vous assurer que vous avez Vous pouvez voir quelles requêtes SQL ont été exécutées par ... P> débogue = true code> dans votre fichier de paramètres
str(MyModel.objects.filter(myvar__gte=15).query)