Разница между null и blank в Django заключается в том, что null относится к базе данных, а blank — к HTML-форме. 1
null=True указывает, что поле может быть установлено в NULL в базе данных. 4 Это значит, что поле можно оставить пустым или неназначенным в модели, и база данных будет хранить его как NULL вместо значения по умолчанию. 4
blank=True указывает, что поле может быть пустым при создании или обновлении экземпляра модели. 4 Это значит, что поле можно оставить пустым или неназначенным в форме, и модель всё равно будет валидной. 4
Таким образом, null контролирует проверку поля на уровне базы данных, а blank используется для проверки формы на уровне приложения. 5