I am trying this for so long but have failed everytime. I want to return the particular user associated with the token. The frontend dev will send a request with token on the header and I need to return the particular user after that user has logged in.
My view:
class UsersListView(ListAPIView):
serializer_class = UserListSerializer
def get(self, request, *args, **kwargs):
user = Token.objects.get(key="token").user
return self.list(request, user)
and I also, tried this which returns Token matching query does not exist.
class UsersListView(ListAPIView):
serializer_class = UserListSerializer
def get_queryset(self):
return User.objects.filter(user =Token.objects.get(key="token").user)
My serializer is:
class UserListSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'
My user model is:
class UserManager(BaseUserManager):
def create_user(self, email, password=None, **kwargs):
"""Creating new user and saving the user."""
if not email:
raise ValueError('Admin must have a valid email')
user = self.model(email=self.normalize_email(email), **kwargs)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, email, password):
"""Creates and saves a new super user"""
user = self.create_user(email, password)
user.is_staff = True
user.is_superuser = True
user.save(using=self._db)
return user
#
#
class User(AbstractBaseUser, PermissionsMixin):
""" Custom user model that supports using email instead of username """
email = models.EmailField(max_length=255, unique=True)
first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=True)
objects = UserManager()
USERNAME_FIELD = 'email'