Python 无法使用Django更新SQLite3中的用户
我有一个视图,应该对用户应用修改。 这是我的视图。py: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, '')
@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)