2009-05-07 13 views
1

Ich habe ein Formular mit einem ModelMultipleChoiceField und es funktioniert wie ein Charme. Wenn ich jedoch widget=forms.RadioSelect festlegen, schlägt die Formularvalidierung immer mit der Fehlermeldung "Geben Sie eine Liste der Werte ein".ModelMultipleChoiceField Validierung unterscheidet sich je nach Widget

Wie gesagt, es funktioniert perfekt mit dem Standard-Widget, aber nicht mit dem Radio-Auswahl-Widget. Die POST Anfrage zur Validierung des Formulars ist genau das gleiche, alles ist genau das gleiche, außer für das Widget, so kann ich nicht herausfinden, was ich falsch mache.

Warum ist das?

EDIT: Vielleicht hätte ich erwähnen sollen, es funktioniert auch mit CheckboxSelectMultiple.

EDIT2: Es scheint nicht einmal egal, ob ich required=False setze, es sagt mir immer noch, "eine Liste von Werten einzugeben."

Antwort

2

Wow, ich war königlich vermasseln. Natürlich funktioniert ModelMultipleChoiceField nicht mit RadioSelect, weil eine Liste von Radio-Buttons bedeutet, dass es nur eine einzige Wahl geben kann. Die Lösung ist ModelChoiceField zu verwenden.