aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/panels/sql.py
diff options
context:
space:
mode:
authorRob Hudson2008-09-23 21:06:39 -0700
committerRob Hudson2008-09-23 21:06:39 -0700
commit159e690ff3d07c8821332942ae722bdf0bdf5208 (patch)
treee0c2284be0ae9fb840abdae142db18bb03ce849b /debug_toolbar/panels/sql.py
parent7ea7e780b775680be3050a8d6eb71f63b5a1fd34 (diff)
downloaddjango-debug-toolbar-159e690ff3d07c8821332942ae722bdf0bdf5208.tar.bz2
Add catch for non JSON serializable objects and don't show the EXPLAIN link for
these.
Diffstat (limited to 'debug_toolbar/panels/sql.py')
-rw-r--r--debug_toolbar/panels/sql.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/debug_toolbar/panels/sql.py b/debug_toolbar/panels/sql.py
index e4e3c02..9223cb7 100644
--- a/debug_toolbar/panels/sql.py
+++ b/debug_toolbar/panels/sql.py
@@ -16,12 +16,17 @@ class DatabaseStatTracker(util.CursorDebugWrapper):
return self.cursor.execute(sql, params)
finally:
stop = time.time()
+ _params = None
+ try:
+ _params = simplejson.dumps(params)
+ except TypeError:
+ pass # object not JSON serializable
# We keep `sql` to maintain backwards compatibility
self.db.queries.append({
'sql': self.db.ops.last_executed_query(self.cursor, sql, params),
'time': stop - start,
'raw_sql': sql,
- 'params': simplejson.dumps(params),
+ 'params': _params
})
util.CursorDebugWrapper = DatabaseStatTracker