1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Fixed #35413 -- Made unsupported lookup error message more specific.

This commit is contained in:
wookkl
2024-07-07 16:17:58 +09:00
committed by Sarah Boyce
parent 2c931fda5b
commit 759abc4daf
3 changed files with 45 additions and 4 deletions

View File

@@ -812,6 +812,34 @@ class LookupTests(TestCase):
):
Article.objects.filter(pub_date__gobbledygook="blahblah")
with self.assertRaisesMessage(
FieldError,
"Unsupported lookup 'gt__foo' for DateTimeField or join on the field "
"not permitted, perhaps you meant gt or gte?",
):
Article.objects.filter(pub_date__gt__foo="blahblah")
with self.assertRaisesMessage(
FieldError,
"Unsupported lookup 'gt__' for DateTimeField or join on the field "
"not permitted, perhaps you meant gt or gte?",
):
Article.objects.filter(pub_date__gt__="blahblah")
with self.assertRaisesMessage(
FieldError,
"Unsupported lookup 'gt__lt' for DateTimeField or join on the field "
"not permitted, perhaps you meant gt or gte?",
):
Article.objects.filter(pub_date__gt__lt="blahblah")
with self.assertRaisesMessage(
FieldError,
"Unsupported lookup 'gt__lt__foo' for DateTimeField or join"
" on the field not permitted, perhaps you meant gt or gte?",
):
Article.objects.filter(pub_date__gt__lt__foo="blahblah")
def test_unsupported_lookups_custom_lookups(self):
slug_field = Article._meta.get_field("slug")
msg = (
@@ -825,7 +853,7 @@ class LookupTests(TestCase):
def test_relation_nested_lookup_error(self):
# An invalid nested lookup on a related field raises a useful error.
msg = (
"Unsupported lookup 'editor' for ForeignKey or join on the field not "
"Unsupported lookup 'editor__name' for ForeignKey or join on the field not "
"permitted."
)
with self.assertRaisesMessage(FieldError, msg):
@@ -1059,6 +1087,10 @@ class LookupTests(TestCase):
)
with self.assertRaisesMessage(FieldError, msg):
Article.objects.filter(headline__blahblah=99)
msg = (
"Unsupported lookup 'blahblah__exact' for CharField or join "
"on the field not permitted."
)
with self.assertRaisesMessage(FieldError, msg):
Article.objects.filter(headline__blahblah__exact=99)
msg = (