Fix Python – How to set True as default value for BooleanField on Django?

Question

Asked By – Bin Chen

I am using BooleanField in Django.

By default, the checkbox generated by it is unchecked state. I want the state to be checked by default. How do I do that?

Now we will see solution for issue: How to set True as default value for BooleanField on Django?


Answer

If you’re just using a vanilla form (not a ModelForm), you can set a Field initial value ( https://docs.djangoproject.com/en/2.2/ref/forms/fields/#django.forms.Field.initial ) like

class MyForm(forms.Form):
    my_field = forms.BooleanField(initial=True)

If you’re using a ModelForm, you can set a default value on the model field ( https://docs.djangoproject.com/en/2.2/ref/models/fields/#default ), which will apply to the resulting ModelForm, like

class MyModel(models.Model):
    my_field = models.BooleanField(default=True)

Finally, if you want to dynamically choose at runtime whether or not your field will be selected by default, you can use the initial parameter to the form when you initialize it:

form = MyForm(initial={'my_field':True})

This question is answered By – Michael C. O’Connor

This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0