diff options
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/widgets.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index 326966064..95b51ffb4 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -300,7 +300,7 @@ class CheckboxSelectMultiple(CheckboxSelectMultipleBase): def render(self, name, value, attrs=None, choices=()): if type(value) in (str, unicode): value = value.split(',') - if type(value) not in (list, tuple): + if not isinstance(value, (list, tuple)): value = [value] return super(CheckboxSelectMultiple, self).render(name, value, attrs) @@ -356,6 +356,14 @@ class Select2BaseField(object): class Select2MultipleField(Select2BaseField, forms.MultipleChoiceField): multiple = True + def to_python(self, value): + if not isinstance(value, (list, tuple)): + if value: + value = value.split(',') + else: + value = [] + return super(Select2MultipleField, self).to_python(value) + class Select2SimpleField(Select2BaseField, forms.ChoiceField): pass |