Подтвердить что ты не робот

Form с CheckboxSelectMultiple не проверяет

У меня есть форма с полем выбора, в котором используется виджет CheckboxSelectMultiple:

foo = forms.ChoiceField(widget=forms.CheckboxSelectMultiple,
                        choices=(
                                  ("1", "ONE"),
                                  ("2", "TWO"),
                                 ))

Форма отображает два флажка, но не подтверждает.

Если я выберу оба флажка, я получаю сообщение об ошибке: выберите допустимый выбор. [u'1 ', u'2'] не является одним из доступных вариантов

Выбор одного флажка тоже не работает, он дает мне: выберите допустимый выбор. [u'1 '] не является одним из доступных вариантов.

Что здесь происходит?

4b9b3361

Ответ 1

Если вы создадите поле form.MultipleChoiceField, а не form.ChoiceField, он будет работать лучше.

Ответ 2

Пусть это поможет вам

num_choices = ( ("1", "ONE"), ("2", "TWO"), ("3", "Three"), ("4", "Four"))

num_list = forms.MultipleChoiceField(choices=num_choices, required=True, widget=forms.CheckboxSelectMultiple(), label='Select No', initial=("1", "2"))

Если вы хотите передать объект ORM напрямую, вы можете попробовать следующее

num_list = forms.ModelMultipleChoiceField(Numbers.objects.all(), required=True, widget=forms.CheckboxSelectMultiple(), label='Select No')