In Django models.py, what's the difference between default, null, and blank?
In implementation terms:
The 'blank' field corresponds to all forms. Specifies if this value is required in form and corresponding form validation is done.
'True' allows empty values.
The 'null' field corresponds to DB level. It will be set as NULL or NOT NULL at the DB.
Hence if leave a field empty in admin with blank=true, NULL is fed into the DB. Now this might throw an error if that particular column in the DB is specified as NOT NULL.
null=True
blank=True
default = 0

What's the difference? When do you use what?