Skip to content

Commit

Permalink
Fixed #22992 -- regression in .filter(generic_fk=...) error message
Browse files Browse the repository at this point in the history
Generic Foreign Keys can't be used as lhs in lookups for historical
reasons. Django 1.6 gave a FieldDoesNotExist exception when using GFKs
as lhs in lookups, but due to regression caused by lookup refactor patch
(20bab2c) the exception type was
changed to AttributeError.

It might be a good idea to add support for gfk__exact and gfk__in lookups
later on.

Thanks to glicerinu@gmail.com for the report. The code in this commit
was written by Tim Graham.
  • Loading branch information
akaariai authored and timgraham committed Jul 14, 2014
1 parent 9cd5201 commit efe87d3
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions tests/generic_relations/tests.py
Expand Up @@ -355,6 +355,10 @@ def test_update_or_create_defaults(self):
self.assertFalse(created) self.assertFalse(created)
self.assertEqual(tag.content_object.id, diamond.id) self.assertEqual(tag.content_object.id, diamond.id)


def test_query_content_type(self):
with six.assertRaisesRegex(self, FieldError, "^Cannot resolve keyword 'content_object' into field."):
TaggedItem.objects.get(content_object='')



class CustomWidget(forms.TextInput): class CustomWidget(forms.TextInput):
pass pass
Expand Down

0 comments on commit efe87d3

Please sign in to comment.