Django ValueError: слишком много значений для распаковки (ожидалось 2)

Я новичок в Django и мне нужна помощь в моем приложении django 2.2.

У меня есть виртуальные машины и расписания с отношением manytomany. Я пытаюсь создать новое расписание, но у меня возникает ошибка. В основном в моей форме создания расписания в столбце я отображаю список виртуальных машин. Таким образом, мы можем выбрать, какой машине назначить расписание. Но я хотел бы отобразить в другом столбце существующие расписания, например так (Изображение) :https://ibb.co/2dvTzXc. Я попробовал с сырым запросом, он отображается хорошо, но когда я попытался отправить свою форму, произошла ошибка:My traceback = https://dpaste.org/p9SQ Мои модели = https://dpaste.org/FwFe Мой код = https://dpaste.org/ZsNZ

# MY TEMPLATE
{% for i in form.vms.field.choices %}
    <tr class="clickable_vm">
        <td>
            <label for="{{ i.0 }}">
                <input type="checkbox" name="vms" value="{{ i.0 }}" class="displaynone" id="{{ i.0 }}">{{ i.1 }}
            </label>
        </td>
        <td class="schedule-name">{% for j in i.2 %}{{ j }}<br/>{% endfor %}</td>
    </tr>
{% endfor %}


# MY RAW QUERY
cursor = connection.cursor()
cursor.execute(
    ' SELECT vmware_virtualmachine.id,'
    ' vmware_virtualmachine.name,'
    ' group_concat( appli_vmschedule.schedule) as "schedule"'
    ' FROM vmware_virtualmachine'
    ' LEFT OUTER JOIN appli_vmschedule_vms'
    ' ON (vmware_virtualmachine.id = appli_vmschedule_vms.virtualmachine_id)'
    ' LEFT OUTER JOIN appli_vmschedule'
    ' ON (appli_vmschedule_vms.vmschedule_id = appli_vmschedule.id)'
    ' group by vmware_virtualmachine.name')
vm_sche_list = cursor.fetchall()
vm_sche_list = [list(ele) for ele in vm_sche_list]
for i in vm_sche_list:
    if i[2] is None:
        i[2] = ''
    else:
        i[2] = list(i[2].split(','))
# MY CLASS form
    vms = MultipleChoiceField(required=True,
                              widget=forms.SelectMultiple(attrs={
                                'class': 'form-control form-form shadow-none '
                                'td-margin-bottom-5 textarea_custom',
                                'placeholder': 'Name'}),
                              choices=vm_sche_list,
                              )

есть ли другой способ сделать то, что я хочу с помощью queryset ? ИЛИ решение для моего фактического кода?

Я нашел решение, я поместил SQL запрос в мой views vm.py. Затем я преобразовал результат запроса в словарь, по которому я выполнял итерацию.

вот так :

mydict = dict()
for ele in vm_sche_list:
  mydict[ele[0]] = [ele[1], ele[2]]
for i, j in mydict.items():
 ...
Вернуться на верх