Я думаю, что проверка модели Django немного неудобна для тех моделей, которые не используют встроенную ModelForm, хотя и не знают, почему.
Во-первых, full_clean()
необходимо full_clean()
вручную.
Обратите внимание, что full_clean() не будет вызываться автоматически при вызове метода save() моделей или в результате проверки ModelForm. В случае проверки ModelForm, Model.clean_fields(), Model.clean() и Model. validate_unique() все вызываются по отдельности. Вам нужно вызвать full_clean вручную, если вы хотите запустить одношаговую проверку модели для ваших собственных моделей, созданных вручную.
Во-вторых, validators
используются во встроенной ModelForm
.
Обратите внимание, что валидаторы не будут запускаться автоматически при сохранении модели, но если вы используете ModelForm, он будет запускать ваши валидаторы в любых полях, включенных в вашу форму.
Существуют большие требования, когда вам необходимо выполнить проверку данных перед сохранением данных в базах данных. И, очевидно, я бы предпочел сделать это в модели, а не в представлениях. Итак, есть ли хорошие идеи для реализации этого изящно в Django 1.5?