Существует 2 ситуации: использование базовых форм (forms.Form) и ModelForm (forms.ModelForm).
Если вы используете ModelForm, вам не нужно играть со словарем cleaned_data
, потому что когда вы делаете form.save()
, он уже сопоставляется и чистые данные сохраняются.Но вы используете базовую форму, тогда вам нужно вручную сопоставить каждый cleaned_data
с местом в базе данных, а затем сохранить экземпляр в базе данных, а не в форме.
Например, базовая форма :
if form.is_valid():
ex = Example()
ex.username = form.cleaned_data['username']
ex.save()
Например, ModelForm :
if form.is_valid():
form.save()
ПРИМЕЧАНИЕ: Если форма переходит со стадии is_valid()
, то нет никаких неподтвержденныхданные.