From 3989ce52ef78840eefe01541628daa220191c0ad Mon Sep 17 00:00:00 2001 From: Patryk Zawadzki Date: Wed, 19 Dec 2012 19:12:08 +0100 Subject: Fixed #18172 -- Made models with __iter__ usable in ModelMultipleChoiceField Thanks to Patryk Zawadzki for the patch. --- django/forms/models.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'django/forms') diff --git a/django/forms/models.py b/django/forms/models.py index e9b71ccf26..0913a4e8b8 100644 --- a/django/forms/models.py +++ b/django/forms/models.py @@ -1033,6 +1033,8 @@ class ModelMultipleChoiceField(ModelChoiceField): return qs def prepare_value(self, value): - if hasattr(value, '__iter__') and not isinstance(value, six.text_type): + if (hasattr(value, '__iter__') and + not isinstance(value, six.text_type) and + not hasattr(value, '_meta')): return [super(ModelMultipleChoiceField, self).prepare_value(v) for v in value] return super(ModelMultipleChoiceField, self).prepare_value(value) -- cgit v1.3