Django rest api中不存在/api/users标记匹配查询处的DoesNotExist

Django rest api中不存在/api/users标记匹配查询处的DoesNotExist,django,authentication,django-rest-framework,token,http-token-authentication,Django,Authentication,Django Rest Framework,Token,Http Token Authentication,我尝试了这么久,但每次都失败了。我想返回与令牌关联的特定用户。前端开发人员将发送一个头部带有令牌的请求,我需要在该用户登录后返回该用户 我的看法是: class UsersListView(ListAPIView): serializer_class = UserListSerializer def get(self, request, *args, **kwargs): user = Token.objects.get(key="token&qu

我尝试了这么久,但每次都失败了。我想返回与令牌关联的特定用户。前端开发人员将发送一个头部带有令牌的请求,我需要在该用户登录后返回该用户

我的看法是:

class UsersListView(ListAPIView):
    serializer_class = UserListSerializer

     def get(self, request, *args, **kwargs):
         user = Token.objects.get(key="token").user
         return self.list(request, user)
我还尝试了这个返回令牌匹配查询不存在的方法

class UsersListView(ListAPIView):
        serializer_class = UserListSerializer

    def get_queryset(self):
        return User.objects.filter(user =Token.objects.get(key="token").user)
我的序列化程序是:

class UserListSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = '__all__'
我的用户模型是:

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'

您必须将头中传递的令牌值作为令牌值传递,而不是字符串“token”

user = Token.objects.get(key=request.META.get('HTTP_AUTHORIZATION') ).user