Если вы действительно серьезно относитесь к желанию видеть / регистрировать все SQL-запросы, вы можете попробовать Django 1.3 (в настоящее время в альфа-версии, но скоро будет производственным), который позволяет Python logger для многих компоненты, включая базу данных.
Конечно, если вы застряли в стабильной версии Django, вы можете сравнительно легко получить тот же эффект, добавив django/db/models/sql/compiler.py
, добавив его в конец списка импорта:
import logging
_querylogger = logging.getLogger( 'sql.compiler' )
Метод поиска SQLCompiler::execute_sql()
и изменение:
cursor = self.connection.cursor()
cursor.execute( sql, params )
к этому:
cursor = self.connection.cursor()
_querylogger.info( "%s <= %s", sql, params )
cursor.execute( sql, params )