Django的形式不保存更新的值

时间:2018-11-15 17:48:30

标签: django django-forms

我的视图中有以下表单保存过程:

heightForRowAt

我的模型如下:

self.view.layoutIfNeeded

这是我的表单类:

if request.method == "POST":
        form = PersonDetailForm(request.POST, request.FILES, instance=customer)
        if form.is_valid():
            print(form.cleaned_data['first_name']) //prints corrected updated value
            saved_customer = form.save()
            print(saved_customer.first_name) //prints the old wrong value

问题在于表单没有保存更新的名字。

当我打印cleaned_data时,会打印正确的更新值,但是当我打印保存的表单(saved_customer)的结果时,它会打印旧的名字。

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

不确定是什么问题,但是您可以尝试:

if form.is_valid():
    f_customer = form.save(commit=False)
    f_customer.first_name = form.cleaned_data.get('first_name')
    f_customer.save()

如果仍然无法解决问题,那么我认为您的Customer.save()出了点问题,或者您有一个pre_save接收器设置了意外操作。