Задать вопрос
Manevant
@Manevant
Учу Python

Зачем и когда нужно использовать clean и clean_fieldname для проверки филда формы?

Собственно вопрос. Не совсем понимаю зачем и когда нужно использовать clean и clean_fieldname для проверки филда формы. В чем разница? Когда что лучше использовать?

В целом валидация форм в джанго немного взрывает мозг.
  • Вопрос задан
  • 2880 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Разработка на Python
    1 год
    Далее
Решения вопроса 1
alternativshik
@alternativshik
clean_fieldname используется для проверки корректности данных КОНКРЕТНОГО поля формы и отвечает за вызов методов to_python, validate и run_validators в правильном порядке и передачу их ошибок. Как только любой из этих методов вызовет исключение ValidationError, процесс проверки прекращается и ошибка передаётся выше. Этот метод возвращает проверенные данные, которые затем помещаются в словарь cleaned_data формы.

Метод clean() потомка формы может выполнять любую проверку, которая нуждается в одновременном доступе к данным нескольких полей. Именно здесь вы можете проверять, что если поле A заполнено, то поле B должно содержать правильный адрес электронной почты и так далее. Данные, которые возвращает этот метод, помещаются в свойство cleaned_data формы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы