Commit 1c11ee63 authored by Klaas van Schelven's avatar Klaas van Schelven Committed by Claude Paroz
Browse files

Fixed #18829 -- Fixed ModelChoiceIterator length

Thanks facundo.olano at gmail.com for the report and thikonom for
the initial patch.
parent 150e2021
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -917,7 +917,8 @@ class ModelChoiceIterator(object):
                yield self.choice(obj)

    def __len__(self):
        return len(self.queryset)
        return len(self.queryset) +\
                    (1 if self.field.empty_label is not None else 0)

    def choice(self, obj):
        return (self.field.prepare_value(obj), self.field.label_from_instance(obj))
+1 −0
Original line number Diff line number Diff line
@@ -989,6 +989,7 @@ class OldFormForXTests(TestCase):
            (c2.pk, "It's a test"),
            (c3.pk, 'Third'),
            (c4.pk, 'Fourth')])
        self.assertEqual(5, len(f.choices))
        with self.assertRaises(ValidationError):
            f.clean('')
        with self.assertRaises(ValidationError):