From 3bf2b74f59a2195854157e5b283ccb4fb5e73d11 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 18 Oct 2018 11:42:14 -0700 Subject: [PATCH] Fix unicode error when trying to escape binary data --- debug_toolbar/panels/sql/tracking.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/debug_toolbar/panels/sql/tracking.py b/debug_toolbar/panels/sql/tracking.py index 63dbc6906..204cfa13c 100644 --- a/debug_toolbar/panels/sql/tracking.py +++ b/debug_toolbar/panels/sql/tracking.py @@ -6,7 +6,7 @@ from time import time from django.utils import six -from django.utils.encoding import force_text +from django.utils.encoding import force_text, DjangoUnicodeDecodeError from debug_toolbar import settings as dt_settings from debug_toolbar.utils import get_stack, get_template_info, tidy_stacktrace @@ -84,7 +84,10 @@ def __init__(self, cursor, db, logger): def _quote_expr(self, element): if isinstance(element, six.string_types): - return "'%s'" % force_text(element).replace("'", "''") + try: + return "'%s'" % force_text(element).replace("'", "''") + except DjangoUnicodeDecodeError: + return repr(element) else: return repr(element)