2011-11-16 5 views
5

Je suis en train de mettre à jour un objet modèle django. Après avoir défini la valeur pour chaque attribut quand j'appelle obj.save() il me donne OperationalError: (2006, 'MySQL server has gone away'). Je suis désespéré de savoir ce qui cause l'erreur suivante. Comment puis-je obtenir la requête ?? Comme lorsque la méthode save échoue en raison de l'erreur ci-dessus, elle ne consigne pas la requête. Des suggestions? Merci d'avance.Comment puis-je obtenir une requête pour .save() dans django?

+0

(https://github.com/robhudson/django-debug-toolbar) [django barre d'outils] – danihp

Répondre

9

Vous pouvez

from django.db import connection 
connection.queries 

il vous donnera la liste de toutes les requêtes qui exécutées par Django (y compris .save()). Pour obtenir votre requête, vous pouvez le faire,

try: 
    modelObj.save() 
except OperationalError: 
    from django.db import connection 
    print connection.queries[-1] 
+2

Ne pas oublier de mettre settings.DEBUG sur True pour afficher des requêtes – dbf

Questions connexes