          for action in actions:
              try:
                  url_name = '%s-%s' % (self.basename, action.url_name)
                  url = reverse(url_name, self.args, self.kwargs, request=self.request)
                  action_urls[action.name] = url
              except NoReverseMatch:
                  pass  # URL requires additional arguments, ignore
  
          return action_urls
  
 
</s> remove         func.kwargs.update({
            'name': func.name,
            'description': func.__doc__ or None
        })
 </s> add         # Set descriptive arguments for viewsets
        if 'name' not in kwargs and 'suffix' not in kwargs:
            func.kwargs['name'] = pretty_name(func.__name__)
        func.kwargs['description'] = func.__doc__ or None </s> remove         func.name = name if name else pretty_name(func.__name__)
 </s> add 
                view = self.__class__(**action.kwargs)
                action_urls[view.get_view_name()] = url
          for action in actions:
              try:
                  url_name = '%s-%s' % (self.basename, action.url_name)
                  url = reverse(url_name, self.args, self.kwargs, request=self.request)
                view = self.__class__(**action.kwargs)
                action_urls[view.get_view_name()] = url
              except NoReverseMatch:
                  pass  # URL requires additional arguments, ignore
  
          return action_urls
  
keep keep keep keep replace keep keep keep keep keep
 Fix action support for ViewSet suffixes (#6081)

* Add suffix support for actions

Removes the newly introduced `action.name` in favor of leveraging the
View's `.get_view_name()` method, which supports both name and suffix.

* Fix view description func docstrings

* Test action decorator name & suffix kwargs

* Adjust 'extra action' docs 
rest_framework/viewsets.py