I'm trying to change the default value of the "true / false" checkboxes to another.
Unfortunately. I receive a form error: “the choice is not one of available choices”.
Please tell me what have I done wrong?
models.py
CHECKBOX_CHOICES = (('1', 'The first choice'), ('2', 'The Second Choice'))
class Order(models.Model):
paid = models.CharField(max_length=350, choices=CHECKBOX_CHOICES)
forms.py
from django import forms
from .models import Order
class OrderCreateForm(forms.ModelForm):
class Meta:
model = Order
fields = ['paid']
widgets = {
'paid': forms.CheckboxSelectMultiple()
}
If I change forms.CheckboxSelectMultiple()
to forms.CheckboxInput()
I receive a form error:
Select the correct value. True is not one of the choices available.
create.html
<form action="." method="post" class="order-form">
{{ form.as_ul }}
<p><input type="submit" value="Submit"></p>
{% csrf_token %}
</form>
rendered html
<ul id="id_paid">
<li><label for="id_paid_0"><input type="checkbox" name="paid" value="" checked="" id="id_paid_0">
---------</label>
</li>
<li><label for="id_paid_1"><input type="checkbox" name="paid" value="1" id="id_paid_1">
The first choice</label>
</li>
<li><label for="id_paid_2"><input type="checkbox" name="paid" value="2" id="id_paid_2">
The Second Choice</label>
</li>
</ul>
It's important to me, even though it's a little thing.