Hello,

This is an idea that came up during the djangocon-europe conference: Add the 
ability to install general instrumentation hooks around the database "execute" 
and "executemany" calls.

Such hooks would allow all sorts of interesting features. For one, they could 
replace the current special-case allowing assertNumQueries & friends to record 
queries out of debug mode (it's an ugly hack, really), but they could also 
support my imagined use case -- a context-manager which could prevent database 
access during execution of some code (I'm thinking mostly of using it around 
"render()" calls and serialization, to make sure all database access is being 
done in the view).

My idea for implementation is to keep a thread-local stack of context-
managers, and have them wrap each call of "execute". We could actually even 
use one such context-manager instead of the existing CursorDebugWrapper.

Thoughts?

Reply via email to