                  initkwargs.update({
                      'basename': basename,
                  })
  
                  view = viewset.as_view(mapping, **initkwargs)
                  name = route.name.format(basename=basename)
                  ret.append(url(regex, view, name=name))
  
 
</s> remove         Set the `.action` attribute on the view,
        depending on the request method.
 </s> add         Set the `.action` attribute on the view, depending on the request method. </s> remove             @detail_route(methods=['post'], permission_classes=[permissions.AllowAny])
 </s> add             @action(methods=['post'], detail=True, permission_classes=[permissions.AllowAny]) </s> remove             @detail_route(methods=['post'])
 </s> add             @action(methods=['post'], detail=True)
                    'detail': route.detail,
                  initkwargs.update({
                      'basename': basename,
                    'detail': route.detail,
                  })
  
                  view = viewset.as_view(mapping, **initkwargs)
                  name = route.name.format(basename=basename)
                  ret.append(url(regex, view, name=name))
  
keep add keep keep keep keep keep keep
 Rework dynamic list/detail actions (#5705)

* Merge list/detail route decorators into 'action'

* Merge dynamic routes, add 'detail' attribute

* Add 'ViewSet.get_extra_actions()'

* Refactor dynamic route checking & collection

* Refactor dynamic route generation

* Add 'ViewSet.detail' initkwarg

* Fixup schema test

* Add release notes for dynamic action changes

* Replace list/detail route decorators in tests

* Convert tabs to spaces in router docs

* Update docs

* Make 'detail' a required argument of 'action'

* Improve router docs 
rest_framework/routers.py