Fixed #20242 - Added a regression test for prefetch_related.

Issue was fixed by removal of chunked reads from
QuerySet iteration in 70679243d1.

Thanks Simeon Visser for the patch.
This commit is contained in:
Tim Graham 2013-05-28 13:35:08 -04:00
parent 1fdc3d256d
commit a2967d5204
2 changed files with 11 additions and 0 deletions

View File

@ -594,6 +594,7 @@ answer newbie questions, and generally made Django that much better:
I.S. van Oostveen <v.oostveen@idca.nl> I.S. van Oostveen <v.oostveen@idca.nl>
viestards.lists@gmail.com viestards.lists@gmail.com
George Vilches <gav@thataddress.com> George Vilches <gav@thataddress.com>
Simeon Visser <http://simeonvisser.com>
Vlado <vlado@labath.org> Vlado <vlado@labath.org>
Zachary Voase <zacharyvoase@gmail.com> Zachary Voase <zacharyvoase@gmail.com>
Marijn Vriens <marijn@metronomo.cl> Marijn Vriens <marijn@metronomo.cl>

View File

@ -107,6 +107,16 @@ class PrefetchRelatedTests(TestCase):
qs = Book.objects.prefetch_related('first_time_authors') qs = Book.objects.prefetch_related('first_time_authors')
[b.first_time_authors.exists() for b in qs] [b.first_time_authors.exists() for b in qs]
def test_in_and_prefetch_related(self):
"""
Regression test for #20242 - QuerySet "in" didn't work the first time
when using prefetch_related. This was fixed by the removal of chunked
reads from QuerySet iteration in
70679243d1786e03557c28929f9762a119e3ac14.
"""
qs = Book.objects.prefetch_related('first_time_authors')
self.assertTrue(qs[0] in qs)
def test_clear(self): def test_clear(self):
""" """
Test that we can clear the behavior by calling prefetch_related() Test that we can clear the behavior by calling prefetch_related()