Django-为formd.MultipleChoiceField设置初始选定值
我想在Django中的multipleechoice表单字段中显示加载表单时选择的初始值。我用不同的表单填充表单集。每个表单只有一个字段“answer”,该字段根据传递给表单的init()方法的自定义参数进行初始化 这将呈现以下HTML: 但它不会进入表单的数据中。提交表单集时,request.POST数据进入此视图:Django-为formd.MultipleChoiceField设置初始选定值,django,django-forms,Django,Django Forms,我想在Django中的multipleechoice表单字段中显示加载表单时选择的初始值。我用不同的表单填充表单集。每个表单只有一个字段“answer”,该字段根据传递给表单的init()方法的自定义参数进行初始化 这将呈现以下HTML: 但它不会进入表单的数据中。提交表单集时,request.POST数据进入此视图: def post(self, request, form_id): """ Process & s
def post(self, request, form_id):
"""
Process & save the responses obtained from a form into DB
:param request: An HTTPRequest object
:param form_id: form id whose responses arrive
:returns HttpResponse object with a results template
"""
formset = FormHandler.AnswerFormSet(request.POST, request.FILES,
form_kwargs={'questions': FormHandler.qs})
if formset.is_valid():
for form in formset:
cd = form.cleaned_data
# Access cd['answer'] here but cd appears to be empty dict {}
# with no key named 'answer'
如果是收音机,cleaned_data
确实有正确的“answer”值,但在这种情况下,它不包含它应该包含的选定ID的列表。我已经检查了该请求。POST.getlist('form##_answer')确实显示了['1','3']的正确列表,但不知何故它没有进入表单集的清理数据。我花了几个小时试图找出为什么会发生这种情况。在Django文档中也找不到答案。有人能解释为什么会这样吗
def post(self, request, form_id):
"""
Process & save the responses obtained from a form into DB
:param request: An HTTPRequest object
:param form_id: form id whose responses arrive
:returns HttpResponse object with a results template
"""
formset = FormHandler.AnswerFormSet(request.POST, request.FILES,
form_kwargs={'questions': FormHandler.qs})
if formset.is_valid():
for form in formset:
cd = form.cleaned_data
# Access cd['answer'] here but cd appears to be empty dict {}
# with no key named 'answer'