Xaip
@Xaip

Как обрабатывать не заполненные поля в формах?

Есть форма которая изменяет данные в стандартной модели User. Я сделал форму с полями:
class AddDesc(forms.Form):
    username = forms.CharField(label='Change name', max_length=40)
    email = forms.EmailField(label="Change Email")
    last_name = forms.CharField(label='last login', max_length=20)

И при обработки формы в вьюхе возникают проблему.
Мне нужно изменить только те поля в user которые были изменены в форме, а остальные оставить без изменений.
Пытался это сделать через is_valid() но он возвращает False если хотя бы одна форма не заполнена
  • Вопрос задан
  • 200 просмотров
Пригласить эксперта
Ответы на вопрос 1
Xaip
@Xaip Автор вопроса
Без понятия кому может пригодится, но вот.
if request.method == 'POST':
        form = AddDesc(request.POST)
        form.is_valid()
        email = form.cleaned_data['email']
        username = form.cleaned_data['username']
        last = form.cleaned_data['last_name']
        if not email == '':
            user.email = email
        if not username == '':
            user.username = username
        if not last == '':
            user.last_name = last
        user.save()

Может можно сократить код, но как я понял в Django формах нет методов проверяющих заполнено поле или нет
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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