Modify django/db/backends/util.py as follows:
import win32api
class CursorDebugWrapper(object):
def __init__(self, cursor, db):
self.cursor = cursor
self.db = db
def debug_trace(self,category,message):
win32api.OutputDebugString('|django |%s|%s\n' % (category,message))
def trace_entry (self, sql, elapsed):
self.debug_trace('Q',sql)
if elapsed >= 0.01:
self.debug_trace(' ','elapsed: %.3f' % elapsed)
def execute(self, sql, params=()):
start = time()
try:
return self.cursor.execute(sql, params)
finally:
stop = time()
sql = self.db.ops.last_executed_query(self.cursor, sql, params)
self.db.queries.append({
'sql': sql,
'time': "%.3f" % (stop - start),
})
self.trace_entry(sql, stop - start)
def executemany(self, sql, param_list):
start = time()
try:
return self.cursor.executemany(sql, param_list)
finally:
stop = time()
self.db.queries.append({
'sql': '%s times: %s' % (len(param_list), sql),
'time': "%.3f" % (stop - start),
})
self.trace_entry(sql, stop - start)