title: Nesting ViewSet routes in DRF
body: <p>I've created 2 ModelViewSets like so (simplified for demonstration):</p>
  
  <pre><code>class SomeBaseViewSet(viewsets.ReadOnlyModelViewSet):
      serializer_class = SomeEventSerializer
      permission_classes = (permissions.IsAuthenticated,)
  
      def get_queryset(self):
          return SomeObjects.objects.filter(owner=self.request.user)
  
      def get_serializer_context(self):
          context = super(SomeBaseViewSet, self).get_serializer_context()
          context.update({
              "user": self.request.user,
              "some_context_key": False
          })
          return context
  
  class AdminViewSet(SomeBaseViewSet):
      # Added in the HasAdminPermission
      permission_classes = (permissions.IsAuthenticated, HasAdminPermission)
  
      # Different queryset filter (overriding `get_queryset` vs setting queryset for standardization)
      def get_queryset(self):
          return SomeObjects.objects.all()
  
      # The context should have `some_context_key=True`, and `user=request.user`
      def get_serializer_context(self):
          context = super(AdminViewSet, self).get_serializer_context()
          context.update({
              "some_context_key": True
          })
          return context
  </code></pre>
  
  <p>My router/url config looks like this</p>
  
  <pre><code>router = DefaultRouter()
  
  router.register(r'some_view', SomeBaseViewSet, base_name="some_view")
  
  urlpatterns += [
      url(r'^api/', include(router.urls)),
  ]
  </code></pre>
  
  <p>If I wanted to route <code>/api/some_view/admin</code> to the AdminViewSet, what's the best way to do that?</p>
  
  <p>Things I've tried:</p>
  
  <ul>
  <li><code>@list_route</code> on <code>SomeBaseViewSet</code>, but couldn't figure out the "right" way to wire it to my <code>AdminViewSet</code></li>
  <li>Adding <code>url(r'^api/some_view/admin$', AdminViewSet.as_view({"get": "list"}))</code> to my urlpatterns (which sorta works but neuters the ViewSet a bit, and is generally really manual anyway):</li>
  <li>Having a dedicated <code>DefaultRouter</code> for the <code>some_view</code> viewset, which I then mount on <code>url(r'^api/some_view/')</code> - again hacky and pedantic to do with a large number of routes</li>
  </ul>
  
  <p>Is there a "right" way to do what I'm trying to accomplish, or should I reach for a different solution to this problem (i.e. a filter or something)?</p>
  
  <p>I've seen libraries like <a href="https://github.com/alanjds/drf-nested-routers" rel="noreferrer">https://github.com/alanjds/drf-nested-routers</a>, but that seems like overkill for my (fairly simple) needs. </p>