Найти - Пользователи
Полная версия: Назначение cleaned_data
Начало » Django » Назначение cleaned_data
1
pyOut
Приветствую,

Подскажите для каких целей нужно использовать cleaned_data если перед ним стоит условие form.is_valid()?
И зачем нужно испольовать clean_(поле) если обработчики ошибкок можно засунуть в validator?
regall
Назначение clean_* немножко другое чем валидоатор. Валидатор проверяет на ошибки, а clean_* приводит сырые данные, полученные из формы в тот вид, который вам нужен для сохранения модели.
pyOut
А в чем тогда отличия от метода to_python у models.Field ?
regall
clean по умолчанию вызывает метод to_python поля модели. Поэтому clean нужно переопределять только тогда, когда необходимо произвести какие-то дополнительные действия, или изменить поведение to_python. Это исключительно в нетривиальных формах.

Пример, когда не нужен clean:
Поле количество задается как <input type = “text” />. В этом случае clean определять не надо.

Пример, когда использовать clean:
В форме пользователю предлагается ввести некую строку, которая в последствии станет частью URL'a. Тогда clean будет выполнять, например, транслитерацию и вырезание лишних символов.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB