Слишком много значений для распаковки в вариантах выбора MultipleChoicefield, хотя элемент выбора является итеративным списком - PullRequest
0 голосов
/ 18 марта 2020

У меня есть эта форма с множественным выбором поля. При выборе нужно сначала разделить значения, полученные из набора запросов, а затем разделить их, прежде чем я смогу их использовать.

class SsReportOndemandForm(forms.Form):        
    recipient_email = forms.MultipleChoiceField(required=False,choices=email_choices)

Я попробовал это и получил простой список.

email_choices = []
for emails in SsReportType.objects.all().values_list('email', flat=True):
    email_choices.append(str(emails).split(","))
    print(email_choices)

Я распечатал список email_choices и получил что-то вроде этого

[ [u 'sumassing@sa.com', u 'shidwvargh@ss.com', u 'seweatigund@ff.com'], [u 'sumaswqeing@gg.com', u 'sumasing@hh.com', u 'shivdargh@aa.com', u 'satqweigweund@gg.com ']]

Это нормально, но когда я отрисовываю форму, она показывает мне ошибку:

ValueError в / ssreport / on_demand_ssreport

тоже множество значений для распаковки

Метод запроса: GET

URL запроса: http://127.0.0.1: 8000 / ssreport / on_demand_ssreport

Django Версия: 1.7 .6

Тип исключения: ValueError

Значение исключения:

слишком много значений для распаковки

Расположение исключения: / home / rohit / Documents / matrix_cloud / env / local / lib / python2 .7 / site-packages / django / forms / widgets.py в render_options, строка 530

Я не могу использовать здесь кортеж, так как мне нужно разделить значения , Любая идея, что я могу сделать ??

Что вообще означает эта ошибка? В любом случае у меня есть только два электронных письма. Я уверен, что это не имеет никакого отношения к количеству, но я просто не могу понять, что не так. Это потому, что в моем списке нет двух значений, таких как словарь?

...