10. В чем разница между null=True
и blank=True
?¶
Значением по умолчанию для null
и blank
является False
. Оба эти значения работают на уровне поля, т.е. хотим ли мы оставить поле нулевым или пустым.
null=True
установит значение поля в NULL, т.е. нет данных. В основном это относится к значению столбца базы данных.:
date = models.DateTimeField(null=True)
blank=True
определяет, будет ли поле обязательным в формах. Сюда входят администраторские и ваши собственные пользовательские формы.:
title = models.CharField(blank=True) // title can be kept blank. In the database ("") will be stored.
null=True
blank=True
Это означает, что поле является необязательным при любых обстоятельствах.:
epic = models.ForeignKey(null=True, blank=True)
// The exception is CharFields() and TextFields(), which in Django are never saved as NULL. Blank values are stored in the DB as an empty string ('').
Также есть особый случай, когда вам нужно принять NULL значения для BooleanField
, используйте NullBooleanField
.