aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/utils/tracking/db.py
diff options
context:
space:
mode:
authorDavid Cramer2013-02-20 13:42:06 -0800
committerDavid Cramer2013-02-20 13:42:06 -0800
commit090acab49e07a09c678a510a812a97724bdaf2a5 (patch)
tree0397b97da7e78ad946071b8390f174b0d6e9c55e /debug_toolbar/utils/tracking/db.py
parent21d162c3232a8b49c053e06c3cc27b17776d8ccb (diff)
downloaddjango-debug-toolbar-090acab49e07a09c678a510a812a97724bdaf2a5.tar.bz2
Improvements for decoding params for recording
Diffstat (limited to 'debug_toolbar/utils/tracking/db.py')
-rw-r--r--debug_toolbar/utils/tracking/db.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/debug_toolbar/utils/tracking/db.py b/debug_toolbar/utils/tracking/db.py
index d898b31..db9974e 100644
--- a/debug_toolbar/utils/tracking/db.py
+++ b/debug_toolbar/utils/tracking/db.py
@@ -91,8 +91,12 @@ class NormalCursorWrapper(object):
for key, value in params.iteritems())
return map(self._quote_expr, params)
+ def _decode(self, param):
+ if isinstance(param, unicode):
+ return param.decode('utf-8', 'ignore')
+ return param
+
def execute(self, sql, params=()):
- __traceback_hide__ = True
start = datetime.now()
try:
return self.cursor.execute(sql, params)
@@ -107,10 +111,8 @@ class NormalCursorWrapper(object):
stacktrace = []
_params = ''
try:
- _params = json.dumps(
- [force_unicode(x, strings_only=True) for x in params]
- )
- except TypeError:
+ _params = json.dumps(map(self._decode, params))
+ except Exception:
pass # object not JSON serializable
template_info = None