Прочитав кучу других материалов в Интернете об этом, я пришел к тому же выводу, что и @zxzak.Это немного сбивает с толку, потому что некоторые люди советуют помещать вызовы валидации в Модель, чтобы гарантировать, что она всегда используется, но в целом, кажется, что консенсус заключается в том, что лучше помещать вызовы для вызова валидации в Forms и ModelForms.
Это немного нелогично для новичков Django, таких как я, потому что мы думаем о формах как о чем-то на уровне представления в сочетании с HTML сайта, но на самом деле их можно рассматривать как абстрактный промежуточный слой между уровнем модели ичто-то, что предоставляет данные для него (веб-сайт, API, импорт файлов).Поэтому, если по соглашению вы всегда используете Forms для передачи данных между входами и моделями, вы в значительной степени гарантируете, что проверка будет выполнена для ваших моделей.
Конечно, есть способы обойти это, но этоВ любом случае, всегда так, если вы не следуете установленным правилам и / или плохо программируете.Например, при массовом создании / обновлении save () все равно не используется.
Пока вы все делаете разумно и используете Forms, как описано выше, ваши данные должны быть в хорошем состоянии.Любые неверные данные, введенные бизнес-логикой за ее пределами и сохраненные непосредственно в модель без проверки, скорее всего будут плохими, а не недействительными, и в любом случае не будут проверяться валидацией и, скорее всего, будут обнаружены тестированием, а неввод данных произвольной формы с веб-сайта / api / import.