summaryrefslogtreecommitdiff
path: root/ishtar_common/forms.py
diff options
context:
space:
mode:
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
commitf87aa359f5c0dcf7372dca67690fc1baf1178b86 (patch)
tree3f544246753ee3141f643010de153cef514132bc /ishtar_common/forms.py
parent32d620abfd98c94cff03eb36a432069fe282ae46 (diff)
downloadIshtar-f87aa359f5c0dcf7372dca67690fc1baf1178b86.tar.bz2
Ishtar-f87aa359f5c0dcf7372dca67690fc1baf1178b86.zip
QA edit doc: add authors field
Diffstat (limited to 'ishtar_common/forms.py')
-rw-r--r--ishtar_common/forms.py15
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]