Угу, что-то типа override в доке поищи
Да, спасибо!
Тогда выглядит логичным такое правило для текстовых полей:
- Если используется постгрес, то используем только TextField. Если на самом деле надо задать проверку длины строки (хотя в большинстве случаев это не надо), то можно воспользоваться CheckConstraint
Еще линтер flake8-django обратил мое внимание на то, что в мире джанго для текстовых полей считается плохой практикой делать name = TextField(null=True). Т.е. отсутствие значения лучше делать в виде пустой строки. Вначале мне это правило не понравилось. Мол null это как раз и есть хороший индикатор того, что значение еще не было задано. Но сейчас все ж соглашаюсь с тем, что это вообще хорошая идея избегать None, как в БД, так и в коде. Все равно в коде питона мы делаем проверки через Falsy. А наличие None, оно даже для типизации добавляет лишний код, постоянно приходится писать что-то типа error: Optional[str]