Я думал, что разобрался, но теперь мне чего-то не хватает.
Сначала у меня есть QuerySet, записи
records = Record.objects.all()
Теперь я хочу сделать это в спискеодин из столбцов таблицы, columnA
alist = records.values_list('columnA')
И затем я хочу передать этот список в качестве параметра в пользовательскую форму.
FilterForm(alist)
Вот моя форма
class FilterForm(forms.Form,list):
numbers = forms.ChoiceField(list)
, но по-прежнему выдает ошибку, что объект type не является итеративным.Я не уверен, что проблема связана с передачей списка, потому что, когда я пытаюсь запустить этот код в оболочке, я получаю сообщение об ошибке при простом импорте FilterForm
EDIT: я изменил свой 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