Skip to content

Commit 6539425

Browse files
kmikeTomasz Buchert
authored andcommitted
Better substitutions for template context variables triggering SQL queries
1 parent 01b5d65 commit 6539425

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

debug_toolbar/panels/template.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,14 @@ def _store_template_info(self, sender, **kwargs):
7070
temp_layer[key] = '<<languages>>'
7171
# QuerySet would trigger the database: user can run the query from SQL Panel
7272
elif isinstance(value, QuerySet):
73-
temp_layer[key] = '<<queryset>>'
73+
model_name = "%s.%s" % (value.model._meta.app_label, value.model.__name__)
74+
temp_layer[key] = '<<queryset of %s>>' % model_name
7475
else:
7576
try:
7677
recording(False)
7778
pformat(value) # this MAY trigger a db query
7879
except SQLQueryTriggered:
79-
temp_layer[key] = '<<contains queryset>>'
80+
temp_layer[key] = '<<triggers database query>>'
8081
else:
8182
temp_layer[key] = value
8283
finally:

tests/tests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,8 @@ def test_queryset_hook(self):
207207
self.assertEquals(len(sql_panel._queries), 0)
208208
ctx = template_panel.templates[0]['context'][0]
209209
ctx = eval(ctx) # convert back to Python
210-
self.assertEquals(ctx['queryset'], '<<queryset>>')
211-
self.assertEquals(ctx['deep_queryset'], '<<contains queryset>>')
210+
self.assertEquals(ctx['queryset'], '<<queryset of auth.User>>')
211+
self.assertEquals(ctx['deep_queryset'], '<<triggers database query>>')
212212

213213
def module_func(*args, **kwargs):
214214
"""Used by dispatch tests"""

0 commit comments

Comments
 (0)