В чем разница между default, null и blank в Django models.py?

Я не уверен, является ли Ваша среда тем же, но в моей, случай пустой строки заставит программу прерываться. Я или обернул бы тот вызов стирания с если (! s.empty ()) или Повышение использования, как уже упомянуто.

49
задан Zach Valenta 22 January 2019 в 12:30
поделиться

1 ответ

Пустой указатель : Это связано с базой данных. Определяет, если данный столбец базы данных примет нулевые значения или нет.

Пробел : Это связано с проверкой. Это будет использоваться во время проверки форм при вызове формы is_valid ().

Значение по умолчанию : Все Время это хранит данное значение (значение по умолчанию) к полю, если Вы не обеспечиваете значения для этого поля.

значения по умолчанию пустого указателя и пробела Ложь .

Однако это прекрасно подходит, чтобы иметь поле с null=True и blank=False. Значение на базе данных выравнивается, поле может быть ПУСТЫМ, но на прикладном уровне это - обязательное поле.

Теперь, где большинство разработчиков понимает его превратно: Определение null=True для основанных на операция со строками полей, таких как CharField и TextField. Постарайтесь не делать это. Иначе Вы закончите тем, что имели два возможных значения для “no data”, который является: Ни один и пустая строка. При наличии двух возможных значений для “no data” избыточен. Конвенция Django состоит в том, чтобы использовать пустую строку, не ПУСТУЮ.

0
ответ дан 7 November 2019 в 11:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: