django“无法通过用户实例访问管理器”

时间:2013-04-17 04:55:47

标签: django python-2.7 django-views

我有一个reg表单,它将用户的firstname和lastname保存到auth_user表中。

登录后我有一个编辑页面,允许用户编辑应该保存(覆盖)到相应user_id中的auth_user表的名字和姓氏

当我尝试这样做时,我收到错误,因为“管理员无法通过用户实例访问”

def editresume(request):

    if request.method == "POST":
      fname = request.POST.get('fname')
      lastname  = request.POST.get('lastname')
      User = request.user
      edit1 = User.objects.get(user_id=user)
      edit1.fname =fname
      edit1.lastname = lastname
      edit1.save()
      return HttpResponseRedirect('/accounts/Profile/')
    else:
        return render_to_response('registration/personal_information.html',context_instance=RequestContext(request))

帮我解决这个问题..!感谢。,

1 个答案:

答案 0 :(得分:1)

这些行中有错误

User = request.user
edit1 = User.objects.get(user_id=user)

可能你错误​​地定义了变量User(大写'U'),你应该检查id而不是user_id

您可能希望将其更改为

user = request.user
edit1 = User.objects.get(id=user.id)

或更好不要直接定义使用request.user

edit1 = User.objects.get(id=request.user.id)

或者更好的是不从DB中获取,您可以直接使用request.user

中的对象
edit1 = request.user