Задать вопрос

Надо ли использовать cleaned_data при сохранении формы?

Вот есть пример из дока:
if request.method == 'POST':
        form = NameForm(request.POST)
        if form.is_valid():
            # process the data in form.cleaned_data as required

Далее если бы NameForm был унаследован от ModelForm, я бы мог просто вызвать form.save()
Или так:
item = form.save(commit=False)
item.my_field = 'bla bla bla'
item.save()


1. Объясните, пожалуйста, зачем нужен form.cleaned_data, если объект form уже заполнен из request.POST ?
2. В request.POST в итоге получаются безопасные данные для сохранения данных прямым вызовом метода save()?
3. Есть предположение что cleaned_data в данном случае может понадобиться например когда данные из формы нужно отправить по емэилу или сохранить в поля другой модели?
  • Вопрос задан
  • 1682 просмотра
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Почему вы считаете, что объект из POST заполняется?

В request.POST данные не являются безопасными. POST - вообще - readonly, и любой мусор, который туда пришёл от клиента, там и остаётся. cleaned_data - это результат вызова очищающих и валидирующих функций. И именно эти данные сохраняются при вызове save().
Ответ написан
Ваш ответ на вопрос

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

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