Я не уверен, является ли Ваша среда тем же, но в моей, случай пустой строки заставит программу прерываться. Я или обернул бы тот вызов стирания с если (! s.empty ()) или Повышение использования, как уже упомянуто.
Пустой указатель : Это связано с базой данных. Определяет, если данный столбец базы данных примет нулевые значения или нет.
Пробел : Это связано с проверкой. Это будет использоваться во время проверки форм при вызове формы is_valid ().
Значение по умолчанию : Все Время это хранит данное значение (значение по умолчанию) к полю, если Вы не обеспечиваете значения для этого поля.
значения по умолчанию пустого указателя и пробела Ложь .
Однако это прекрасно подходит, чтобы иметь поле с null=True и blank=False. Значение на базе данных выравнивается, поле может быть ПУСТЫМ, но на прикладном уровне это - обязательное поле.
Теперь, где большинство разработчиков понимает его превратно: Определение null=True для основанных на операция со строками полей, таких как CharField и TextField. Постарайтесь не делать это. Иначе Вы закончите тем, что имели два возможных значения для “no data”, который является: Ни один и пустая строка. При наличии двух возможных значений для “no data” избыточен. Конвенция Django состоит в том, чтобы использовать пустую строку, не ПУСТУЮ.