При обновлении данных модели не возвращать пустое поле (Django)

товарищи! При изменении/обновлении данных модели незаполненные поля возвращаются. То есть, при изменении данных в форме можно заполнить не все поля, поля, которые остаются не заполненными, всё-равно возвращаются в базу данных пустыми. В этом случае необходимо возвращать их прежнее значение или же не вносить изменения в БД.

Вот собственно вьюшка, которую я сделал через костыль:

def edit(request, id):
form = EditUser(request.POST)
if request.method == 'POST':
    user = User.objects.get(id=id)
    if form.is_valid():
        if form.cleaned_data['first_name']:
            user.first_name = form.cleaned_data['first_name']
        if form.cleaned_data['last_name']:
            user.last_name = form.cleaned_data['last_name']
        if form.cleaned_data['middle_name']:
            user.middle_name = form.cleaned_data['middle_name']
        if form.cleaned_data['email']:
            user.email = form.cleaned_data['email']
        user.save()
    else:
        return HttpResponse("Некорректные данные")
    return redirect('/')
else:
    return render(request, 'first_page/edit.html', {'form': form})

Подскажите, пожалуйста, как будет сделать корректно в данной ситуации.

Вернуться на верх