willkoua
willkoua

Reputation: 115

get user with token django rest framework

sorry for my english. It is not good.

I work with rest framework django. I want to recover a user with his token. This Token must be sent via a post request

class GetUser(generics.ListCreateAPIView):
serializer_class = serializers.UserBasicSerializer

def get_queryset(self):
    return models.Member.objects.filter()

def post(self, request, *args, **kwargs):
    user = Token.objects.get(*args, **kwargs).user

i receive this error message

rest_framework.authtoken.models.MultipleObjectsReturned: get() returned more than one Token -- it returned 2!

thanks

Upvotes: 1

Views: 3322

Answers (2)

William Zimmermann
William Zimmermann

Reputation: 916

The answer to your question is in the docs. Take a look here: http://www.django-rest-framework.org/api-guide/requests/#user

Basically, you just need to get from request the method user. For example:

def api_name_of_api(request):
   user_data = request.user  # Get username
   user_data = request.user.id  # Get user id
   ...

Upvotes: 0

Use: user = Token.objects.filter(*args, **kwargs)

if user.exists(): user = user.last().user

Upvotes: 1

Related Questions