В Django отсутствует возможность валидировать значения, устанавливаемые на объектном уровне. Только в формах.
Часто ли вы нуждаетесь в том, чтобы валидация происходила и на уровне объектов? То есть при создании/обновлении объектов в коде и есть ли проекты, которые очень много работают с объектами вне форм? Востребованным ли будет решение, обеспечивающее такую возможность?
В Django REST Framework валидация осуществляется на уровне сериалайзеров.
При сохранении форм django - в методе clean
Но ничто не мешает тот же метод clean использовать для кастомной валидации. Ну или save переопределить если потребуется.
Так что на уровне объектов - потребность не частая.