USER
USER

Reputation: 17

django "Manager isn't accessible via User instance"

I am having a reg form which saves the users firstname and lastname into auth_user table.

After login i am having a edit page which allow user to edit their firstname and lastname which should be saved(overwritten) to auth_user table in the respective user_id

When i try to do this, i am getting error as "Manager isn't accessible via User instance"

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))

Help me to fix this issue..! Thanks.,

Upvotes: 0

Views: 2106

Answers (1)

Rohan
Rohan

Reputation: 53326

You have error in these lines

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

Probably you mistakenly defined variable User (with uppercase 'U') and you should be checking against id not user_id.

You would want to change it to

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

or better don't define directly use request.user

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

Or even better don't fetch from DB, you can directly use object in request.user

edit1 = request.user

Upvotes: 1

Related Questions