  router.register(r'actions', ActionViewSet)
  router.register(r'actions-alt', ActionViewSet, basename='actions-alt')
  router.register(r'names', ActionNamesViewSet, basename='names')
  
  
  urlpatterns = [
      url(r'^api/', include(router.urls)),
 
</s> remove     return hasattr(attr, 'mapping')
 </s> add     return hasattr(attr, 'mapping') and isinstance(attr.mapping, MethodMapper)
router.register(r'mapping', ActionViewSetWithMapping, basename='mapping')
  router.register(r'actions', ActionViewSet)
  router.register(r'actions-alt', ActionViewSet, basename='actions-alt')
  router.register(r'names', ActionNamesViewSet, basename='names')
router.register(r'mapping', ActionViewSetWithMapping, basename='mapping')
  
  
  urlpatterns = [
      url(r'^api/', include(router.urls)),
keep keep add keep keep keep keep
 Extra action detection is too permissive. Add failing test + fix (#7217)

* Add failing test

* Add failing test++

* Make get_extra_action less permissive 
tests/test_viewsets.py