Ho un'applicazione Python/Django che esegue un numero elevato di istruzioni SQL. Per motivi di debug, ho pensato di creare per me una vista semplice che elenchi tutte le istruzioni SQL che sono state eseguite.Utilizzo di django.db.connection.queries
Secondo la documentazione, questo codice dovrebbe essere sufficiente per farlo:
from django.db import connection
connection.queries
finché DEBUG è True.
Tuttavia, questo non mi sta dando nulla. DEBUG è sicuramente impostato su True. In quale contesto è memorizzata questa connessione? Voglio dire, dovrei essere in grado di eseguire una pagina che esegue molte istruzioni SQL, quindi passare alla vista http://myserver/sql che ho creato e vedere quelle istruzioni SQL lì, giusto? Usando ovviamente la stessa sessione del browser ...
Ho verificato se db.reset_queries() è stato eseguito in qualsiasi parte del codice, sembra che non lo sia.
Qualche idea sul perché connection.queries è sempre vuota?
Controllerò la barra degli strumenti di debug di django. Grazie. – HaukurHaf
Non ho mai avuto successo con DDT su un server di produzione. Sembra funzionare solo con il server di sviluppo di Django in esecuzione localmente. – William