title: Django-Rest-Framework router register
body: <p>i'm having a issue when i try to register more than 2 routers using Django-REST-FRAMEWORK. Please take a look on my example: </p>
  
  <p><strong>urls.py</strong></p>
  
  <pre><code>from rest_framework import routers
  from collaborativeAPP import views
  
  router = routers.DefaultRouter()
  router.register(r'get_vocab', views.VocabViewSet)
  router.register(r'get_term', views.TermViewSet)
  router.register(r'get_discipline', views.DisciplineViewSet)
  
  urlpatterns = patterns(
  ...
      url(r'^service/', include(router.urls))
  )
  </code></pre>
  
  <p><strong>views.py</strong></p>
  
  <pre><code>class VocabViewSet(viewsets.ModelViewSet):
      queryset = Vocab.objects.all()
      serializer_class = VocabSerializer
  
  class TermViewSet(viewsets.ModelViewSet):
      queryset = Term.objects.all()
      serializer_class = TermSerializer
  
  class DisciplineViewSet(viewsets.ModelViewSet):
      queryset = Vocab.objects.filter(kwdGroup=4)
      serializer_class = DisciplineSerializer
  </code></pre>
  
  <p>the result in my localhost is the following:</p>
  
  <p><a href="http://localhost:8000/service/" rel="nofollow">http://localhost:8000/service/</a></p>
  
  <pre><code>HTTP 200 OK
  Content-Type: application/json
  Vary: Accept
  Allow: GET, HEAD, OPTIONS
  
  {
      "get_vocab": "http://127.0.0.1:8000/service/get_discipline/",
      "get_term": "http://127.0.0.1:8000/service/get_term/",
      "get_discipline": "http://127.0.0.1:8000/service/get_discipline/"
  }
  </code></pre>
  
  <p>As you can see i have registered 3 routers expecting that they will display 3 urls for each methodname(<code>get_vocab</code>, <code>get_term</code>, <code>get_discipline</code>). The final result is  <code>get_discipline</code> is occuring two times and get_vocab url is missing.</p>
  
  <p>Notice that for methods that uses different models it works fine, but in case of get_discipline and get_vocab they use the same model which will create this mess. Should i use a viewset for each model? If so, how can a define different methods in a viewset?</p>
  
  <p>It should occur the following result:</p>
  
  <pre><code> HTTP 200 OK
   Content-Type: application/json
   Vary: Accept
   Allow: GET, HEAD, OPTIONS
  
   {
       "get_vocab": "http://127.0.0.1:8000/service/get_vocab/",
       "get_term": "http://127.0.0.1:8000/service/get_term/",
       "get_discipline": "http://127.0.0.1:8000/service/get_discipline/"
   }
  </code></pre>
  
  <p>What am i missing? I supposed that i could register as many routers as i want. It is supposed to have one router per model? Why doesn't seem to work for viewsets that share a same model?</p>