Python 关于django/restframework请求

Python 关于django/restframework请求,python,django,django-rest-framework,Python,Django,Django Rest Framework,这是我的看法: class Comments(ListCreateAPIView): queryset = models.NewsComment.objects filter_backends = [CommentsFilterBackend] http_method_names = ["get", "post"] def get_serializer(self, *args, **kwargs): if self.request.method = "ge

这是我的看法:

class Comments(ListCreateAPIView):

   queryset = models.NewsComment.objects
   filter_backends = [CommentsFilterBackend]
   http_method_names = ["get", "post"]

   def get_serializer(self, *args, **kwargs):
      if self.request.method = "get":
          return Myserializer
我想知道为什么self.request可以调用“方法”。它不是封装的请求新对象吗?本机请求对象封装在请求obj中。为什么self.request可以调用request.method attrs

答案在中,更具体地说是在
\uu getattr\uuu
方法中(第410行):


这是Python的“神奇方法”之一,您可以阅读更多有关它的信息。

aha,很高兴能提供帮助。如果你认为答案解决了你的疑虑,请考虑接受答案。
    def __getattr__(self, attr):
        """
        If an attribute does not exist on this instance, then we also attempt
        to proxy it to the underlying HttpRequest object.
        """
        try:
            return getattr(self._request, attr)
        except AttributeError:
            return self.__getattribute__(attr)