Refs #17876: enhanced new test to actually test underlying function, not just ensure trying to use it does not raise an exception. Thanks Przemek Lewandowski.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17695 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Karen Tracey 2012-03-13 01:01:22 +00:00
parent 37d0488910
commit d174216587
1 changed files with 12 additions and 3 deletions

View File

@ -146,6 +146,15 @@ class DeferTests(TestCase):
obj.save() obj.save()
def test_defer_proxy(self): def test_defer_proxy(self):
# using select related and only should not result in Exception """
for obj in ChildProxy.objects.all().select_related().only('id'): Ensure select_related together with only on a proxy model behaves
continue as expected. See #17876.
"""
related = Secondary.objects.create(first='x1', second='x2')
ChildProxy.objects.create(name='p1', value='xx', related=related)
children = ChildProxy.objects.all().select_related().only('id', 'name')
self.assertEqual(len(children), 1)
child = children[0]
self.assert_delayed(child, 1)
self.assertEqual(child.name, 'p1')
self.assertEqual(child.value, 'xx')