Fixed #23697 -- Improved ForeignObject.get_lookup_constraint() error message.
This commit is contained in:
parent
a4a58811b9
commit
00e667728b
|
@ -1766,7 +1766,12 @@ class ForeignObject(RelatedField):
|
|||
root_constraint = constraint_class()
|
||||
assert len(targets) == len(sources)
|
||||
if len(lookups) > 1:
|
||||
raise exceptions.FieldError('Relation fields do not support nested lookups')
|
||||
raise exceptions.FieldError(
|
||||
"Cannot resolve keyword %r into field. Choices are: %s" % (
|
||||
lookups[0],
|
||||
", ".join(f.name for f in self.model._meta.get_fields()),
|
||||
)
|
||||
)
|
||||
lookup_type = lookups[0]
|
||||
|
||||
def get_normalized_value(value):
|
||||
|
|
|
@ -1164,6 +1164,15 @@ class Queries1Tests(BaseQuerysetTest):
|
|||
['<Author: a1>', '<Author: a2>', '<Author: a3>', '<Author: a4>']
|
||||
)
|
||||
|
||||
def test_lookup_constraint_fielderror(self):
|
||||
msg = (
|
||||
"Cannot resolve keyword 'unknown_field' into field. Choices are: "
|
||||
"annotation, category, category_id, children, id, item, "
|
||||
"managedmodel, name, parent, parent_id"
|
||||
)
|
||||
with self.assertRaisesMessage(FieldError, msg):
|
||||
Tag.objects.filter(unknown_field__name='generic')
|
||||
|
||||
|
||||
class Queries2Tests(TestCase):
|
||||
@classmethod
|
||||
|
|
Loading…
Reference in New Issue