Как я понял из этого вопроса о дизайне базы данных , вам следует экономно использовать пустые поля и каждый раз принимать взвешенное решение о том, лучше ли будет переосмыслить дизайн данных.
Но, скажем, в каком-то конкретном случае разрешение состоит в том, чтобы текстовое поле содержало пустое значение. Скажем, есть таблица user
и столбец short_bio
, который представлен TextField в Django и не является обязательным. Нет смысла создавать отдельную таблицу user_bio
, верно?
Теперь вопрос в том, должно ли пустое значение быть пустой строкой или нулевым маркером ? Каковы плюсы и минусы для каждого варианта? Есть ли какие-то особенности в работе Django с базой данных, которые могут иметь значение?
Следует отметить, что django-lint в настоящее время сообщает об экземплярах CharField и TextField с null=True
.
И наоборот, «сохранение пустой строки для поля, оставленного пустым, воспринимается некоторыми разработчиками .
как плохая идея».