          # We override this method in order to automagically create
          # `ManyRelatedField` classes instead when `many=True` is set.
          if kwargs.pop('many', False):
              return cls.many_init(*args, **kwargs)
          return super(RelatedField, cls).__new__(cls, *args, **kwargs)
  
      @classmethod
      def many_init(cls, *args, **kwargs):
          """
          This method handles creating a parent `ManyRelatedField` instance
 
</s> remove         return super(BaseSerializer, cls).__new__(cls, *args, **kwargs)
 </s> add         return super().__new__(cls, *args, **kwargs) </s> remove         super(RelatedField, self).__init__(**kwargs)
 </s> add         super().__init__(**kwargs) </s> remove         super(BaseSerializer, self).__init__(**kwargs)
 </s> add         super().__init__(**kwargs) </s> remove         request = super(ViewSetMixin, self).initialize_request(request, *args, **kwargs)
 </s> add         request = super().initialize_request(request, *args, **kwargs) </s> remove         super(DictField, self).__init__(*args, **kwargs)
 </s> add         super().__init__(*args, **kwargs)
        return super().__new__(cls, *args, **kwargs)
          # We override this method in order to automagically create
          # `ManyRelatedField` classes instead when `many=True` is set.
          if kwargs.pop('many', False):
              return cls.many_init(*args, **kwargs)
        return super().__new__(cls, *args, **kwargs)
  
      @classmethod
      def many_init(cls, *args, **kwargs):
          """
          This method handles creating a parent `ManyRelatedField` instance
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/relations.py