【问题标题】:Select a valid choice. is not one of the available choices选择一个有效的选项。不是可用的选择之一
【发布时间】:2019-01-14 21:31:14
【问题描述】:

forms.py

LANGUAGE_CHOICE = (
   ('C', 'C'),
   ('cplus', 'C++'),
   ('csharp', 'C#'),
   ('html', 'Html'),
   )
language = forms.ChoiceField(choices=LANGUAGE_CHOICE, label= "Programming Language you know:",widget= forms.CheckboxSelectMultiple())

模板/formview.html

<div class="row">
 <div class="col-sm-6 label_field">
 <label for="{{form.language.id_for_label}}"{{form.language.label}}</label>
 </div>
 <div class="col-sm-6">
 {% for checkbox in form.language %}
     {{checkbox}}<br>
 {% endfor %}
 </div>
 </div>

验证错误

选择一个有效的选项。 ['C', 'csharp', 'html'] 不是其中之一 可用的选择。

谁能帮我解决 CheckboxSelectMultiple 的这个验证错误

【问题讨论】:

  • 似乎您需要MultipleChoiceField 而不仅仅是ChoiceField

标签: django python-3.x django-forms


【解决方案1】:

表单字段 (forms.ChoiceField) 与您选择的小部件不匹配。表单字段需要选择并发布一个选项。如果要存储所选选项的列表,则应使用不同的表单字段类型,很可能是https://docs.djangoproject.com/en/2.1/ref/forms/fields/#multiplechoicefield

【讨论】:

    猜你喜欢
    • 2021-01-25
    • 1970-01-01
    • 2018-06-11
    • 2021-04-12
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    相关资源
    最近更新 更多