summaryrefslogtreecommitdiff
path: root/ishtar_common/forms.py
diff options
context:
space:
mode:
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]