Отправить MultipleChoiceField в Django с настраиваемым множественным выбором jQuery box

Я пытаюсь отправить поле с множественным выбором, используя этот плагин jQuery для отображения нескольких вариантов.

Моя форма выглядит следующим образом:

class BackupForm(forms.Form):
    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user', None)
        super(BackupForm, self).__init__(*args, **kwargs)
        self.fields['contas_choice'] = forms.MultipleChoiceField(
            choices=get_backup_choices(self.user)
        )

        for field in self.fields:
            self.fields[field].widget.attrs.update({'class': 'form-control', })

        self.fields['contas_choice'].widget.attrs.update(
            {
                'name': 'from[]',
                'id': 'search',
                'class': 'form-control',
                'size': '8',
                'multiple': 'multiple',
            }
        )

    contas_choice = forms.MultipleChoiceField(required=False)
    # other fields

И на моем шаблоне:

<form action="" class="form-horizontal" method="post">{% csrf_token %}
    <div class="row">
        <div class="col-xs-5">
            {% for choice in form.contas_choice %}
                {{ choice }}
            {% endfor %}
        </div>

        <div class="col-xs-2">
            <button type="button" id="search_rightAll" class="btn btn-block"><i
                    class="glyphicon glyphicon-forward"></i></button>
            <button type="button" id="search_rightSelected" class="btn btn-block"><i
                    class="glyphicon glyphicon-chevron-right"></i></button>
            <button type="button" id="search_leftSelected" class="btn btn-block"><i
                    class="glyphicon glyphicon-chevron-left"></i></button>
            <button type="button" id="search_leftAll" class="btn btn-block"><i
                    class="glyphicon glyphicon-backward"></i></button>
        </div>

        <div class="col-xs-5">
            <select name="to[]" id="search_to" class="form-control" size="8" multiple="multiple"></select>
        </div>
    </div>
    <div id="actions" class="row">
        <div class="col-md-12">
            <button type="submit" class="btn btn-primary">Baixar</button>
            <a href="/listar-contas/" class="btn btn-default">Cancelar</a>
        </div>
    </div>
</form>

Это отображает поле выбора так, как я хотел, как в примере со ссылкой на плагин.

Но когда я пытаюсь отправить форму, я получаю сообщение в формате HTML, в котором говорится "Пожалуйста, выберите элемент в списке", даже после того, как я переместил все элементы в нужное поле. Поэтому я не могу отправить форму и даже не получаю никакой ошибки Django, потому что она сразу не проходит проверку HTML.

Что я должен сделать, чтобы все элементы в правой ячейке были представлены?

Спасибо!

0 ответов

Другие вопросы по тегам