Python 从列表到django中的选择菜单

Python 从列表到django中的选择菜单,python,django,Python,Django,我以为我已经弄明白了,但现在我错过了一些东西 首先我有一个查询集,记录 records = Record.objects.all() 现在我想把它做成一个表中一列的列表columnA alist = records.values_list('columnA') 然后我想把这个列表作为参数传递给自定义表单 FilterForm(alist) 这是我的表格 class FilterForm(forms.Form,list): numbers = forms.ChoiceField(li

我以为我已经弄明白了,但现在我错过了一些东西

首先我有一个查询集,记录

records = Record.objects.all()
现在我想把它做成一个表中一列的列表columnA

alist = records.values_list('columnA')
然后我想把这个列表作为参数传递给自定义表单

FilterForm(alist)
这是我的表格

class FilterForm(forms.Form,list):
    numbers = forms.ChoiceField(list)
但不断出现“type”对象不可编辑的错误。我不确定问题是否与传递列表有关,因为当我尝试在shell中运行此代码时,在导入FilterForm时会收到错误消息

编辑:我更改了FilterPerform,所以现在看起来像这样

class FilterForm(forms.Form):
    def __init__(self,numbers):
        number = forms.ChoiceField(numbers)
所以现在我想我要做的是,把一个列表传递给FilterPerform。但是,当我呈现模板并传递表单时,不会显示任何表单字段。但没有错误消息

编辑:也试过了,在网上看到了

class FilterForm(forms.Form):
    number = forms.ChoiceField()

    def __init__(self,numbers):
        super(FilterForm,self).__init__()
        self.fields['number'].choices=numbers
但错误是:

Exception Type:     TemplateSyntaxError
Exception Value:    

Caught ValueError while rendering: need more than 1 value to unpack

问题在于此行中的单词
list

numbers = forms.ChoiceField(list)
您需要向ChoiceField提供特定列表。

这里有一个错误:

class FilterForm(forms.Form,list):
    numbers = forms.ChoiceField(list)
您使
FilterForm
成为
表单的子类。表单
列表
;然后您希望
列表
可以作为
选项字段
的参数使用

我想您正在寻找动态
精选字段

进一步阅读:


啊,python不是java……我要做的是让类将列表作为参数。我想这不是名单。在java中,我会使用构造函数filtermber(列表l)或其他东西,但在python中这有什么不同