Вы должны использовать clean для выполнения работы, связанной с проверкой, и для анализа / изменения / иного очистки ввода.Капитализация полей и генерация пули могут произойти здесь.Я также использую команду clean, чтобы принудительно задать для поля типа post_type
определенное значение в моделях прокси.Если вы поднимаете django.core.exceptions.ValidationError('error text')
внутри clean, 'error text'
добавляется к form.non_field_errors
.
Сохранить - это место, где можно изменить способ сохранения модели.Например, я использовал save для создания обрезки загруженной картинки.ValidationError
s не пойманы, если подняты здесь, и я чувствую, что это самое важное практическое различие между ними.