Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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:表单集的动态选择字段_Django_Django Forms_Formset_Dynamic Forms - Fatal编程技术网

Django:表单集的动态选择字段

Django:表单集的动态选择字段,django,django-forms,formset,dynamic-forms,Django,Django Forms,Formset,Dynamic Forms,所以我有一张表格 class DownloadForm(forms.Form): title = forms.CharField() device_family = forms.ChoiceField(label="Device Family", widget=forms.Select(attrs={'class': 'form-control',

所以我有一张表格

class DownloadForm(forms.Form):

    title = forms.CharField()
    device_family = forms.ChoiceField(label="Device Family",
                                          widget=forms.Select(attrs={'class': 'form-control',
                                                                     'data-toggle': 'select'}),
                                          choices=LOG_ENTRY_TYPES, required=True
                                      )
在我看来,是的

LOG_ENTRY_TYPES = (
            ('', 'All'),
            ('auth', 'Auth'),
            ('error', 'Error'),
            ('info', 'Info'),
            ('proxy', 'Proxy'),
        )
DownloadFormSet = formset_factory(DownloadForm)
        formsets = DownloadFormSet(initial=[
            {'title': 'Django is now open source', 'device_family': LOG_ENTRY_TYPES},
            {'title': 'Django source 2', 'device_family': LOG_ENTRY_TYPES},
            {'title': 'Django source 3', 'device_family': LOG_ENTRY_TYPES}
        ])

这将创建
device\u family
字段,但不会生成
LOG\u ENTRY\u type
选项。那么,如何将
LOG\u ENTRY\u TYPES
选项传递到
device\u family
choices字段,以便下拉列表显示选项。

您是否尝试在表单集中初始化表单,如下图所示:?form.fields['device\u family'].choices=device\u family\u choices?也许这个方法可以解决:)您是否尝试在表单集中初始化表单,如这里:?form.fields['device\u family'].choices=device\u family\u choices?也许这个方法会奏效:)