It depends on the field.empty_strings_allowed attribute.
In some fields, it is redefined to False . But CharField keeps it True , thereby Field._get_default returns an empty string by default - even if blank=True . The only way to get None by default is to have null=True in the field.
So, if you have a field in db that should never be null and not allow spaces to ever fit there, for example. objects.create . You should put self.full_clean() - or another check - in the save model method.
Janusz Skonieczny
source share