正如我在标题中所写,在表单中带有CheckboxSelectMultiple的MultipleChoiceField可以正确保存用户响应,但是离开并重新进入页面后,选择消失了,而其他单选则没有,我可以不能弄清楚为什么。
这是我在UserResponseForm
中的form.py
:
class UserResponseForm(forms.ModelForm):
selection_1 = forms.ChoiceField(
required=True,
choice=CHOICE_TYPE_1,
widget=forms.RadioSelect
)
selection_2 = forms.ChoiceField(
required=True,
choice=CHOICE_TYPE_1,
widget=forms.RadioSelect
)
...
# Problematic
selection_6 = forms.MultipleChoiceField(
required=True,
choices=CHOICE_TYPE_3,
widget=forms.CheckboxSelectMultiple
)
这是html部分:
{% elif item_id == 6 %}
<div class="multiple-select">
{% for checkbox in field %}
<div class="multiple-button">
<label for="{{ checkbox.id_for_label }}">
{{ checkbox.choice_label }}<br />{{ checkbox.tag }}
</label>
</div>
{% endfor %}
</div>
页面的这一部分呈现如下: