Ich versuche, alle ausgewählten Kontrollkästchen Werte als Liste zu bekommen jedoch nicht in der Lage, um das Formular zu validieren aufgrund Auswahl OptionValidate und django Formulars unkown Anzahl der multipleselect Checkbox Felder
forms.py erhalten:
class MarkAccountsForm(forms.Form):
accounts = forms.MultipleChoiceField(
widget = forms.CheckboxSelectMultiple,
required = False
)
Vorlage:
{% for account in accounts %}
<tr>
<td><input type="checkbox" name="accounts" value="{{ account.id }}"></td>
<td>{{ account.name }}</td>
</tr>
{% endfor %}
views.py:
if request.method == 'POST':
form = MarkAccountsForm(request.POST)
if form.is_valid(): #this fails
data = form.cleaned_data
Wenn ich versuche, form.errors
zu drucken, heißt es Select a valid choice. 1119 is not one of the available choices.
Gibt es eine Möglichkeit, dass ich Wahl Validierung vermeiden kann und immer noch Werte erhalten von allen Konten Kontrollkästchen als Liste überprüft? Wie sage ich es, um irgendwelche Entscheidungen zu treffen? Wenn ich die Liste ohne Formularvalidierung bekommen kann, ist das auch in Ordnung.
Danke Daniel, fragte sich, wann du antworten würdest. Nun, 'is_valid' zu vermeiden, war meine zweite Option, wenn es nicht möglich ist, und ich wusste nicht über 'getlist', ich habe' get' versucht und es gab mir nur die letzte angekreuzte Checkbox's ID. – MohitC