Fixed #29158 -- Fixed len(choices) crash if ModelChoiceField's queryset is a manager.

Removing all() in __iter__() prevents a duplicate query when choices are
cast to a list and there's a prefetch_related().
This commit is contained in:
François Freitag 2018-02-23 21:12:09 -08:00 committed by Tim Graham
parent 06172d7bc2
commit 40f0aa9885
3 changed files with 4 additions and 3 deletions

View file

@ -249,6 +249,7 @@ class ModelChoiceFieldTests(TestCase):
def test_queryset_manager(self):
f = forms.ModelChoiceField(Category.objects)
self.assertEqual(len(f.choices), 4)
self.assertEqual(list(f.choices), [
('', '---------'),
(self.c1.pk, 'Entertainment'),