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 | f87aa359f5c0dcf7372dca67690fc1baf1178b86 (patch) | |
tree | 3f544246753ee3141f643010de153cef514132bc /ishtar_common/forms.py | |
parent | 32d620abfd98c94cff03eb36a432069fe282ae46 (diff) | |
download | Ishtar-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.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] |