Field.null
If True
, Django will store empty values as NULL
in the database. Default is False
.
Avoid using null
on string-based fields such as CharField
and TextField
because empty string values will always be stored as empty strings, not as NULL
. If a string-based field has null=True
, that means it has two possible values for “no data”: NULL
, and the empty string. In most cases, it’s redundant to have two possible values for “no data;” the Django convention is to use the empty string, not NULL
.
For both string-based and non-string-based fields, you will also need to set blank=True
if you wish to permit empty values in forms, as the null
parameter only affects database storage (see blank
).
Note
When using the Oracle database backend, the value NULL
will be stored to denote the empty string regardless of this attribute.
If you want to accept null
values with BooleanField
, use NullBooleanField
instead.
Please login to continue.