Django Rest框架令牌认证和查询集

时间:2018-07-11 16:00:42

标签: django django-rest-framework

我想使用令牌身份验证进行过滤。

如果删除get_queryset,请获取所有TodoList作者并在邮递员处工作。

但是我想过滤像get_queryset这样的用户。

在views.py中的待办事项

class TodoList(generics.ListCreateAPIView):
serializer_class = TodoSerializer
permission_classes = ()
#queryset = Todo.objects.all()


def get_queryset(self):
    return Todo.objects.filter(user=self.request.user)

def perform_create(self, serializer):
    serializer.save(user=self.request.user)

并使用Httpie,得到我想要的json!

(myvenv) D:\django\todo_project>http GET http://localhost:8000/todo/ "Authorization: Token 7681fc35d7fb9fdb20dbad65ca8220b3ca12c1e6"
HTTP/1.0 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
[
    {
        "content": "todo!",
        "timestamp": "2018-07-11T10:06:27.710916Z",
        "title": "todo!",
        "updated": "2018-07-11T10:06:27.710916Z",
        "user": "user3"
    }
]

但是使用邮递员,会发生错误。 Postman get

我认为在整理时,身份验证不起作用,因此用户是AnnoymouseUser

如何过滤请求用户?

1 个答案:

答案 0 :(得分:1)

您错过了“授权”值中的Token个单词。应该是:

Authorization: Token <token_value>