title: Why I cannot use @action decorator on ModelViewSet in Django Rest Framework
body: <p>I build a very basic <strong>ViewSet</strong> on <code>User</code> model to CRUD a user.</p>
  
  <ul>
  <li>I want to use <code>ModelViewSet</code> and <code>@action</code> decorator to make codes clean.</li>
  <li>Set a permission(Just use <code>IsAuthenticated</code> as example) required on the <code>list</code> function. so that only who are signed can do this. </li>
  </ul>
  
  <p>This is the code sample.</p>
  
  <pre><code>from rest_framework.decorators import action, list_route
  from rest_framework.permissions import IsAuthenticated
  
  class UserViewSet(viewsets.ModelViewSet):
      queryset = User.objects.all()
      serializer_class = UserSerializer
      @action(detail=False, permission_classes=[IsAuthenticated])
      def list(self, request, *args, **kwargs):
          return super(UserViewSet, self).list(request, *args, **kwargs)
  </code></pre>
  
  <p>But I got an error</p>
  
  <blockquote>
    <p>Cannot use the @action decorator on the following methods, as they are existing routes: list</p>
  </blockquote>
  
  <p>If I remove <code>@action</code>, it works well. My question is why I cannot use @action decorator on an existing routes <code>list</code>?</p>