      We use this for hyperlinked URLs that may render as a named link
      in some contexts, or render as a plain URL in others.
      """
      def __new__(self, url, obj):
          ret = six.text_type.__new__(self, url)
          ret.obj = obj
          return ret
  
      def __getnewargs__(self):
          return(str(self), self.name,)
 
</s> remove class Hyperlink(six.text_type):
 </s> add class Hyperlink(str): </s> remove class Empty(object):
 </s> add class Empty: </s> remove             return super(RequestsClient, self).request(method, url, *args, **kwargs)
 </s> add             return super().request(method, url, *args, **kwargs) </s> remove         return six.text_type(self.obj)
 </s> add         return str(self.obj) </s> remove         ret = super(Serializer, self).data
 </s> add         ret = super().data
        ret = str.__new__(self, url)
      We use this for hyperlinked URLs that may render as a named link
      in some contexts, or render as a plain URL in others.
      """
      def __new__(self, url, obj):
        ret = str.__new__(self, url)
          ret.obj = obj
          return ret
  
      def __getnewargs__(self):
          return(str(self), self.name,)
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