Fixed #12215: Added len to ModelChoiceIterator. Thanks Alex and Tobias.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11850 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
6a7db77e95
commit
125403ca97
|
@ -910,6 +910,9 @@ class ModelChoiceIterator(object):
|
|||
for obj in self.queryset.all():
|
||||
yield self.choice(obj)
|
||||
|
||||
def __len__(self):
|
||||
return len(self.queryset)
|
||||
|
||||
def choice(self, obj):
|
||||
if self.field.to_field_name:
|
||||
key = obj.serializable_value(self.field.to_field_name)
|
||||
|
|
|
@ -100,4 +100,16 @@ class CustomFieldSaveTests(TestCase):
|
|||
# It's enough that the form saves without error -- the custom save routine will
|
||||
# generate an AssertionError if it is called more than once during save.
|
||||
form = CFFForm(data = {'f': None})
|
||||
form.save()
|
||||
form.save()
|
||||
|
||||
class ModelChoiceIteratorTests(TestCase):
|
||||
def test_len(self):
|
||||
class Form(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Article
|
||||
fields = ["publications"]
|
||||
|
||||
Publication.objects.create(title="Pravda",
|
||||
date_published=date(1991, 8, 22))
|
||||
f = Form()
|
||||
self.assertEqual(len(f.fields["publications"].choices), 1)
|
||||
|
|
Loading…
Reference in New Issue