2011-06-20 14 views
7

Używam WTForms i próbuję wyświetlić SelectField, ale pojawia się następujący błąd:WTForms "zbyt wiele wartości do rozpakowywania" z SelectField

>>> form.status() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Python26\Lib\site-packages\wtforms\fields.py", line 136, in __call__ 
    return self.widget(self, **kwargs) 
    File "C:\Python26\Lib\site-packages\wtforms\widgets.py", line 237, in __call__ 
    for val, label, selected in field.iter_choices(): 
    File "C:\Python26\Lib\site-packages\wtforms\fields.py", line 390, in iter_choices 
    for value, label in self.choices: 
ValueError: too many values to unpack 

Oto moja postać:

class TestForm(Form): 
    status = SelectField(u'Status', choices=Test.statuses()) 

Metoda statyczna Test.statuses zwraca listę ciągów. Co ja robię źle?

Odpowiedz

4

Nieważne, potrzebuje krotki, a nie ciągi:

>>> form.status.choices = [(status, status) for status in Test.statuses()] 
>>> form.status() 
u'<select id="status" name="status"><option value="Status1">Status1</option></select>' 
+0

podziękowania pracy. –

Powiązane problemy