我以爲我想到了,但現在我失去了一些東西。從列表中選擇菜單在Django
首先我有一個QuerySet,記錄
records = Record.objects.all()
現在我要製作成表格的列一個清單此,columnA
alist = records.values_list('columnA')
然後我想通過此列表作爲自定義表單的參數。
FilterForm(alist)
這裏是我的形式
class FilterForm(forms.Form,list):
numbers = forms.ChoiceField(list)
但不斷收到錯誤「類型」對象不是可迭代。我不確定這個問題與列表的傳遞有關,因爲當我嘗試在shell中運行此代碼時,當我導入FilterForm時收到錯誤消息。編輯:我現在更改了我的FilterForm,現在它看起來像這樣。
class FilterForm(forms.Form):
def __init__(self,numbers):
number = forms.ChoiceField(numbers)
所以現在我認爲這是更明顯的,我想要做的,傳遞給FilterForm列表。但是,當我渲染我的模板並傳遞表單時,不會顯示錶單域。沒有錯誤消息雖然
編輯編輯:也試過這個,看到了它的在線
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
啊,蟒蛇不是Java ...我想要做的是有階級接受列表作爲參數。我想這不是所謂的列表。在java中,我會構造一個FilterForm(List l)或者其他的東西,但是,這是如何不同的python – JPC 2010-09-11 22:37:55
編輯我原來的文章 – JPC 2010-09-11 22:59:48