mirror of
https://github.com/django/django.git
synced 2025-01-08 17:37:20 +00:00
Fixed #25609 -- Fixed regression in related field nested lookup error.
This commit is contained in:
parent
976bd519a8
commit
32ef48aa56
@ -1172,7 +1172,10 @@ class Query(object):
|
|||||||
|
|
||||||
if field.is_relation:
|
if field.is_relation:
|
||||||
# No support for transforms for relational fields
|
# No support for transforms for relational fields
|
||||||
assert len(lookups) == 1
|
num_lookups = len(lookups)
|
||||||
|
if num_lookups > 1:
|
||||||
|
raise FieldError('Related Field got invalid lookup: {}'.format(lookups[0]))
|
||||||
|
assert num_lookups > 0 # Likely a bug in Django if this fails.
|
||||||
lookup_class = field.get_lookup(lookups[0])
|
lookup_class = field.get_lookup(lookups[0])
|
||||||
if len(targets) == 1:
|
if len(targets) == 1:
|
||||||
lhs = targets[0].get_col(alias, field)
|
lhs = targets[0].get_col(alias, field)
|
||||||
|
@ -493,6 +493,12 @@ class LookupTests(TestCase):
|
|||||||
str(ex), "Unsupported lookup 'starts' for CharField "
|
str(ex), "Unsupported lookup 'starts' for CharField "
|
||||||
"or join on the field not permitted.")
|
"or join on the field not permitted.")
|
||||||
|
|
||||||
|
def test_relation_nested_lookup_error(self):
|
||||||
|
# An invalid nested lookup on a related field raises a useful error.
|
||||||
|
msg = 'Related Field got invalid lookup: editor'
|
||||||
|
with self.assertRaisesMessage(FieldError, msg):
|
||||||
|
Article.objects.filter(author__editor__name='James')
|
||||||
|
|
||||||
def test_regex(self):
|
def test_regex(self):
|
||||||
# Create some articles with a bit more interesting headlines for testing field lookups:
|
# Create some articles with a bit more interesting headlines for testing field lookups:
|
||||||
for a in Article.objects.all():
|
for a in Article.objects.all():
|
||||||
|
Loading…
Reference in New Issue
Block a user