django rest框架中的get_queryset方法和ViewSets

You*_*wad 17 django-rest-framework

我正如示例所述

这是我的方法

class FeedViewSet(viewsets.ModelViewSet):
    model = Feed
    serializer_class = FullFeedSerializer

    def get_queryset(self):
        user = request.user
        queryset = Feed.objects.get_nearby(user)
        return queryset
Run Code Online (Sandbox Code Playgroud)

当我执行它时,它表示请求未定义..实际上并非如此.其余框架的网站上的示例也没有定义请求.我究竟做错了什么?

Tom*_*tie 24

请求对象可用(在REST框架的基于类的视图或Django的基于标准类的视图上)self.request.你错过了那self.一部分.

  • 嘿,汤姆,我想通了,但文档遗漏了自我。还 :) (2认同)
  • “如何访问序列化程序中的请求对象” - 如果您使用的是通用视图,那么它将在序列化程序上以 `self.context['request']` 的形式提供。如果您不使用通用视图,那么您需要确保在实例化序列化程序时传递 `context={'request': request}`。 (2认同)