diff --git a/tests/modeltests/defer/tests.py b/tests/modeltests/defer/tests.py index 88aac0c9e5..09138293af 100644 --- a/tests/modeltests/defer/tests.py +++ b/tests/modeltests/defer/tests.py @@ -146,6 +146,15 @@ class DeferTests(TestCase): obj.save() 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'): - continue + """ + Ensure select_related together with only on a proxy model behaves + 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')