Python 无法使用Django更新SQLite3中的用户

Python 无法使用Django更新SQLite3中的用户,python,django,sqlite,Python,Django,Sqlite,我有一个视图,应该对用户应用修改。 这是我的视图。py: @login_required def edit_user_info(request): user = request.user print user.summary for key in request.POST: if key != "csrfmiddlewaretoken": user.__dict__[key] = request.POST.get(key, '')

我有一个视图,应该对用户应用修改。 这是我的视图。py

@login_required
def edit_user_info(request):
    user = request.user
    print user.summary
    for key in request.POST:
        if key != "csrfmiddlewaretoken":
            user.__dict__[key] = request.POST.get(key, '')
    print user.summary
    user.save()
    print "saved"
    return HttpResponseRedirect('../home/')

这两张打印图向我显示了字段的正确更改和用户的正确保存。但当我回叫用户时,仍然存在旧的值。我做错了什么?

事实上我应该这么做:

@login_required
def edit_user_info(request):
    user = User.objects.get(id=request.user.id)
    print user.summary
    for key in request.POST:
        if key != "csrfmiddlewaretoken":
            user.__dict__[key] = request.POST.get(key, '')
    print user.summary
    user.save()
    print "saved"
    return HttpResponseRedirect('../home/')

您当然应该使用ModelForm来实现这一点。事实上,由于用户是从请求中调用的,所以我只修改请求实例中的用户,而不是我刚刚需要定义的数据库中的用户:user=user.objects.get(id=request.user.id)