      def initialize_request(self, request, *args, **kwargs):
          """
          Set the `.action` attribute on the view, depending on the request method.
          """
          request = super(ViewSetMixin, self).initialize_request(request, *args, **kwargs)
          method = request.method.lower()
          if method == 'options':
              # This is a special case as we always provide handling for the
              # options method in the base `View` class.
              # Unlike the other explicitly defined actions, 'metadata' is implicit.
 
</s> remove         return super(BaseSerializer, cls).__new__(cls, *args, **kwargs)
 </s> add         return super().__new__(cls, *args, **kwargs) </s> remove         super(ForceAuthClientHandler, self).__init__(*args, **kwargs)
 </s> add         super().__init__(*args, **kwargs) </s> remove         return super(RelatedField, cls).__new__(cls, *args, **kwargs)
 </s> add         return super().__new__(cls, *args, **kwargs) </s> remove class override_method(object):
 </s> add class override_method: </s> remove class ForcedAuthentication(object):
 </s> add class ForcedAuthentication:
        request = super().initialize_request(request, *args, **kwargs)
      def initialize_request(self, request, *args, **kwargs):
          """
          Set the `.action` attribute on the view, depending on the request method.
          """
        request = super().initialize_request(request, *args, **kwargs)
          method = request.method.lower()
          if method == 'options':
              # This is a special case as we always provide handling for the
              # options method in the base `View` class.
              # Unlike the other explicitly defined actions, 'metadata' is implicit.
keep keep keep keep replace keep keep keep keep keep
 Dropped Python 2 compatibility. (#6615)

Thanks to Jon Dufresne (@jdufresne) for review.

Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
Co-authored-by: Rizwan Mansuri <Rizwan@webbyfox.com> 
rest_framework/viewsets.py