diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-12-12 17:46:24 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-12-12 17:46:24 +0100 |
commit | 4b3ff3e9279ca0bb645f9ef6f9f471422af55a1b (patch) | |
tree | d71cd6c61141754290a39095c06b09454173ff26 | |
parent | 548c783c61f1183206c7a907d48576491a20fd6d (diff) | |
download | Ishtar-4b3ff3e9279ca0bb645f9ef6f9f471422af55a1b.tar.bz2 Ishtar-4b3ff3e9279ca0bb645f9ef6f9f471422af55a1b.zip |
Adjust multiple fields
-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 |