I have a button that, when clicked, should save in the database that the user has drunk water. I just wanted to check whether NullBooleanField would be the correct way to define this.
A broader question that if answered would be useful to the community is a list of optimal circumstances under which to use NullBooleanField. But I'm not asking that here. Just in case you wanted a better challenge.
Thank you in advance.
The question you need to answer to find out whether you should use the BooleanField
or the NullBooleanField
is actually concerning the possible states of the value of the field you want to represent in your model:
2 possible states:
→ use BooleanField
3 possible states:
→ use NullBooleanField
.
UPDATE:
NullBooleanField
is deprecated in version 3.1. Instead use BooleanField
with null=True
.
Django 2.1 introduced null=True
for BooleanField
. Using NullBooleanField
is now discouraged.
So use, x = BooleanField(null=True)
instead of x = NullBooleanField()
Here's a simple use case: If you only need to record the "Yes" or "No" status, use Boolean without null. But if you want to have 3 conditions say, "Yes", "No", and "Don't Know", use it with null=True
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With