2009-04-14 13 views
19

ich ein Formular mit einem Auswahlfeld haben, das CheckboxSelectMultiple Widget verwendet:Form mit CheckboxSelectMultiple nicht überprüft

foo = forms.ChoiceField(widget=forms.CheckboxSelectMultiple, 
         choices=(
            ("1", "ONE"), 
            ("2", "TWO"), 
           )) 

Die Form macht zwei Kontrollkästchen fein zeigt, aber es nicht bestätigen.

Wenn ich beide Kontrollkästchen anwähle, erhalte ich einen Fehler: Wählen Sie eine gültige Auswahl. [u'1 ', u2'] ist keine der verfügbaren Optionen

Die Auswahl eines Kontrollkästchens funktioniert auch nicht, es gibt mir: Wählen Sie eine gültige Auswahl. [u '1'] ist keine der verfügbaren Optionen.

Was geht hier vor?

Antwort

30

Wenn Sie das Feld ein forms.MultipleChoiceField und nicht ein forms.ChoiceField machen, funktioniert es besser.

4

Mai dieses hilfreich für Sie

num_choices = (("1", "ONE"), ("2", "TWO"), ("3", "Three"), ("4", "Four")) 

num_list = forms.MultipleChoiceField(choices=num_choices, required=True, widget=forms.CheckboxSelectMultiple(), label='Select No', initial=("1", "2")) 

Wenn Sie das ORM-Objekt direkt übergeben wollen, dann können Sie versuchen, die folgenden

num_list = forms.ModelMultipleChoiceField(Numbers.objects.all(), required=True, widget=forms.CheckboxSelectMultiple(), label='Select No')