diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-14 23:45:09 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-14 23:45:09 +0200 |
commit | 5c2457815a333edb98ccfb91c7bbf59db1501ccd (patch) | |
tree | 3f544246753ee3141f643010de153cef514132bc /ishtar_common/forms.py | |
parent | bb4a57dcfa0c107c414c39a70521cd557a8eb215 (diff) | |
download | Ishtar-5c2457815a333edb98ccfb91c7bbf59db1501ccd.tar.bz2 Ishtar-5c2457815a333edb98ccfb91c7bbf59db1501ccd.zip |
QA edit doc: add authors field
Diffstat (limited to 'ishtar_common/forms.py')
-rw-r--r-- | ishtar_common/forms.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index a2e7a4fd1..76b33b638 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -927,11 +927,18 @@ class QAForm(CustomForm, ManageOldType): key = base_key[len("qa_"):] field = item._meta.get_field(key) if getattr(field, 'related_model', None): - if type(value) == list: - value = [field.related_model.objects.get(pk=v) - for v in value] + is_list = isinstance(value, (list, tuple)) + if not is_list: + value = [value] + new_value = [] + for v in value: + if not isinstance(v, field.related_model): + v = field.related_model.objects.get(pk=v) + new_value.append(v) + if is_list: + value = new_value else: - value = field.related_model.objects.get(pk=value) + value = new_value[0] if getattr(field, 'many_to_many', None): if type(value) not in (list, tuple): value = [value] |