title: Django Rest Framework with multiple Viewsets and Routers for the same object
body: <p>I am having trouble defining different view sets for the same object using Django Rest Framework. Following is a minimal example to reproduce the issue, based on DRF Quickstart. I am using python 3.5 and the latest DRF.</p>
  
  <p><strong>tutorial/quickstart/serializers.py</strong></p>
  
  <pre><code>from django.contrib.auth.models import User
  from rest_framework import serializers
  
  
  class UserSerializer(serializers.ModelSerializer):
      class Meta:
          model = User
          fields = ('url', 'username', 'email')
  
  class UserMinimalSerializer(serializers.ModelSerializer):
      class Meta:
          model = User
          fields = ('url', 'username')
  </code></pre>
  
  <p><strong>tutorial/quickstart/views.py</strong></p>
  
  <pre><code>from django.contrib.auth.models import User
  from rest_framework import viewsets
  from tutorial.quickstart.serializers import UserSerializer, UserMinimalSerializer
  
  class UserViewSet(viewsets.ModelViewSet):
      queryset = User.objects.all().order_by('-date_joined')
      serializer_class = UserSerializer
  
  
  class UserMinimalViewSet(viewsets.ModelViewSet):
      queryset = User.objects.all().order_by('-date_joined')
      serializer_class = UserMinimalSerializer
  </code></pre>
  
  <p><strong>tutorial/urls.py</strong> </p>
  
  <pre><code>from django.conf.urls import url, include
  from rest_framework import routers
  from tutorial.quickstart import views
  
  router = routers.DefaultRouter()
  router.register(r'users', views.UserViewSet)
  router.register(r'users-minimal', views.UserMinimalViewSet) 
  
  urlpatterns = [
      url(r'^', include(router.urls))
  ]
  </code></pre>
  
  <p>When running the server and GETting the root, you end up with:</p>
  
  <pre><code>HTTP 200 OK
  Allow: GET, HEAD, OPTIONS
  Content-Type: application/json
  Vary: Accept
  
  {
      "users": "http://127.0.0.1:8000/users-minimal/",
      "users-minimal": "http://127.0.0.1:8000/users-minimal/"
  }
  </code></pre>
  
  <p>Note both <code>users</code> and <code>users-minimal</code> point to <code>.../users-minimal/</code>.</p>
  
  <p>Also, when accessing <code>http://HOST:PORT/users/</code> you get:</p>
  
  <pre><code>HTTP 200 OK
  Allow: GET, POST, OPTIONS
  Content-Type: application/json
  Vary: Accept
  
  {
      "count": 2,
      "next": null,
      "previous": null,
      "results": [
          {
              "url": "http://127.0.0.1:8000/users-minimal/2/",
              "username": "user2",
              "email": "user2@users.com"
          },
          {
              "url": "http://127.0.0.1:8000/users-minimal/1/",
              "username": "user1,
              "email": "user1@users.com"
          }
      ]
  }
  </code></pre>
  
  <p>Note the urls point to <code>.../users-minimal/</code>.</p>
  
  <p>Final note: my question is somewhat similar to <a href="https://stackoverflow.com/questions/30533943/django-rest-framework-routers-with-multiple-viewsets">this one</a>, but the suggested solution did not work for me, nor did it suggest why it should work in the first place.</p>