1
0
mirror of https://github.com/django/django.git synced 2024-12-22 17:16:24 +00:00

Fixed #24277 -- Added exception when dict used in QuerySet filtering

This commit is contained in:
Alex Wilson 2015-04-13 18:57:11 -04:00 committed by Tim Graham
parent 825bb0ab08
commit 99d40c6f65
2 changed files with 6 additions and 0 deletions

View File

@ -1121,6 +1121,8 @@ class Query(object):
query. However, if the filter isn't added to the query then the caller query. However, if the filter isn't added to the query then the caller
is responsible for unreffing the joins used. is responsible for unreffing the joins used.
""" """
if isinstance(filter_expr, dict):
raise FieldError("Cannot parse keyword query as dict")
arg, value = filter_expr arg, value = filter_expr
if not arg: if not arg:
raise FieldError("Cannot parse keyword query %r" % arg) raise FieldError("Cannot parse keyword query %r" % arg)

View File

@ -440,6 +440,10 @@ class Queries1Tests(BaseQuerysetTest):
['<Item: four>'] ['<Item: four>']
) )
def test_error_raised_on_filter_with_dictionary(self):
with self.assertRaisesMessage(FieldError, 'Cannot parse keyword query as dict'):
Note.objects.filter({'note': 'n1', 'misc': 'foo'})
def test_tickets_2076_7256(self): def test_tickets_2076_7256(self):
# Ordering on related tables should be possible, even if the table is # Ordering on related tables should be possible, even if the table is
# not otherwise involved. # not otherwise involved.