summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorwookkl <wjddnr315@gmail.com>2024-07-07 16:17:58 +0900
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2024-07-09 09:15:38 +0200
commit759abc4dafef6860edb830c30754e6364ed9ea11 (patch)
tree11416e6f4d7dc4b0bb665247f81fa145361c4007 /tests
parent2c931fda5b341e0febf68269d2c2447a64875127 (diff)
Fixed #35413 -- Made unsupported lookup error message more specific.
Diffstat (limited to 'tests')
-rw-r--r--tests/custom_lookups/tests.py4
-rw-r--r--tests/lookup/tests.py34
2 files changed, 37 insertions, 1 deletions
diff --git a/tests/custom_lookups/tests.py b/tests/custom_lookups/tests.py
index f107c5320a..2f4ea0a9a0 100644
--- a/tests/custom_lookups/tests.py
+++ b/tests/custom_lookups/tests.py
@@ -614,6 +614,10 @@ class LookupTransformCallOrderTests(SimpleTestCase):
)
TrackCallsYearTransform.call_order = []
# junk transform - tries transform only, then fails
+ msg = (
+ "Unsupported lookup 'junk__more_junk' for IntegerField or join"
+ " on the field not permitted."
+ )
with self.assertRaisesMessage(FieldError, msg):
Author.objects.filter(birthdate__testyear__junk__more_junk=2012)
self.assertEqual(TrackCallsYearTransform.call_order, ["transform"])
diff --git a/tests/lookup/tests.py b/tests/lookup/tests.py
index ebdaa21e3d..28acd72874 100644
--- a/tests/lookup/tests.py
+++ b/tests/lookup/tests.py
@@ -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 = (