Non è la soluzione più pulita ma se si desidera eseguire rapidamente il debug senza installare pacchetti aggiuntivi, è possibile cercare il metodo execute() in django/db.
Per Oracle Credo che sia in:
Django/db/backend/Oracle/base.py e cercare:
def execute
Per PostgreSQL è in:
django/db/backend/postgresql_psycopg2/base.py
In CursorWrapper c'è un metodo execute().
Entrambi stanno rilevando IntegrityError e DatabaseError, è possibile aggiungere una dichiarazione di stampa lì.
Per ppl che desidera visualizzare tutte le query sql, inserire l'istruzione di stampa subito dopo la chiamata della funzione.
È utile? http://stackoverflow.com/questions/1074212/show-the-sql-django-is-running – Darek
Non esattamente. Non voglio includere "print connection.queries" nel caso di test perché, per eseguire quella linea, dovrei prima rilevare un'eccezione. Se rilevo questa eccezione, il test passerà quale non è buono. Reraising questa eccezione non è molto elegante, sto cercando una soluzione migliore. – mnowotka
Un'altra cosa è che "stampa" non funziona con i test - almeno per me ... – mnowotka