Разделение валидации ввода формы и валидации модели в Django?

Характерно ли в проектах Django разделять валидацию ввода и валидацию на уровне модели? Например, проверка того, что имя пользователя соответствует критериям именования, будет проверкой ввода, а проверка того, что пользователь еще не находится в базе данных, будет проверкой на уровне модели.

Я смотрел код коллеги, и они поместили оба типа валидации в класс формы (в forms.py). Является ли это типичной установкой, или чаще всего валидация на уровне модели появляется в модели или представлении?

Или есть лучший способ подойти к этому - например, использовать ModelForm? Я довольно новичок в Django и пытаюсь понять, какой шаблон рекомендуется для этой ситуации.

18
задан bgcode 29 January 2012 в 22:47
поделиться