Modify django/db/backends/util.py as follows: import win32api class CursorDebugWrapper(object): def __init__(self, cursor, db): self.cursor = cursor self.db = db # Instance of a BaseDatabaseWrapper subclass 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)