3

In my application I'm using ModelViewSet, as for urls I used SimpleRouter():

main.urls

urlpatterns = [
    url(r'^teams/', include('team.urls', namespace='teams')),
]

team.urls

router = SimpleRouter()
router.register('', views.TeamViewSet, base_name='teams')
router.register('players', views.PlayersViewSet, base_name='players')

urlpatterns = [
    url(r'^', include(router.urls))
]

I want my urls to be like this: http://.../teams/ and http://.../teams/players/. My problem is when i leave router.register('', views.TeamViewSet, base_name='teams') empty it will get a not found 404 to players url, but if i add anything to the first url e.g: router.register('anything', views.TeamViewSet, base_name='teams'), it will work.

How can i make the urls the way i want and why isn't it working this way?

alex
  • 2,381
  • 4
  • 23
  • 49

1 Answers1

6

Change the order of the url's

router = SimpleRouter()
router.register('players', views.PlayersViewSet, base_name='players')
router.register('', views.TeamViewSet, base_name='teams')

urlpatterns = [
    url(r'^', include(router.urls))
]
Ganesh Negi
  • 1,939
  • 1
  • 11
  • 9