Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-为formd.MultipleChoiceField设置初始选定值_Django_Django Forms - Fatal编程技术网

Django-为formd.MultipleChoiceField设置初始选定值

Django-为formd.MultipleChoiceField设置初始选定值,django,django-forms,Django,Django Forms,我想在Django中的multipleechoice表单字段中显示加载表单时选择的初始值。我用不同的表单填充表单集。每个表单只有一个字段“answer”,该字段根据传递给表单的init()方法的自定义参数进行初始化 这将呈现以下HTML: 但它不会进入表单的数据中。提交表单集时,request.POST数据进入此视图: def post(self, request, form_id): """ Process & s

我想在Django中的multipleechoice表单字段中显示加载表单时选择的初始值。我用不同的表单填充表单集。每个表单只有一个字段“answer”,该字段根据传递给表单的init()方法的自定义参数进行初始化

这将呈现以下HTML:

但它不会进入表单的数据中。提交表单集时,request.POST数据进入此视图:

    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'