When any user login my Django web application, I want to user_id, 
user_group, user_type in session. Because I wanna avoid querying 
request.user on every request for web page faster. So, I saved this and I 
would like to pass this parameter User.objects.get(pk=request.session.get(
'user_id'))
But when I pass login(request, user)  instead of  login(request, user) I 
got an error TypeError at /account/login/Object of type 'User' is not JSON 
serializable
 Basically this error comes from this line
 request.session['login_user'] 
=User.objects.get(pk=request.session.get('user_id'))

I want to pass login(reqeust, user=my_session_user), how can I achieve this 
for my less query?



if user:

request.session['user_id'] = user.id
request.session['user_group'] = User.objects.get(pk=user.id).groups.last()
.name
request.session['user_type'] = User.objects.get(pk=user.id).is_superuser
login_user = User.objects.get(pk=request.session.get('user_id'))
# request.session['login_user'] = login_user

# get ip from client
current_user = get_object_or_404(User, pk=user.pk)
client_ip = get_client_ip(request)

current_user.last_login_user_ip = client_ip
current_user.last_login_user_country = get_country_by_ip(client_ip)
current_user.save()

logger.info(str(user) + " attempt to login.")
login(request, user)

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/98f2f149-48a4-4331-bbda-0dbd183f233an%40googlegroups.com.

Reply via email to