From 4b3ff3e9279ca0bb645f9ef6f9f471422af55a1b Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 12 Dec 2018 17:46:24 +0100 Subject: Adjust multiple fields --- ishtar_common/widgets.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'ishtar_common/widgets.py') 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 -- cgit v1.2.3