Характерно ли в проектах Django разделять валидацию ввода и валидацию на уровне модели? Например, проверка того, что имя пользователя соответствует критериям именования, будет проверкой ввода, а проверка того, что пользователь еще не находится в базе данных, будет проверкой на уровне модели.
Я смотрел код коллеги, и они поместили оба типа валидации в класс формы (в forms.py). Является ли это типичной установкой, или чаще всего валидация на уровне модели появляется в модели или представлении?
Или есть лучший способ подойти к этому - например, использовать ModelForm
? Я довольно новичок в Django и пытаюсь понять, какой шаблон рекомендуется для этой ситуации.