diff options
| author | Tom Christie | 2014-09-17 15:50:12 +0100 | 
|---|---|---|
| committer | Tom Christie | 2014-09-17 15:50:12 +0100 | 
| commit | 3376c37861356f1d5799a1a854b159899ddb48ed (patch) | |
| tree | de833b8da28f1f84a00e88b612f238bcda318f12 /rest_framework | |
| parent | 543c6c8e3504b6d715052dac844039934de76f2a (diff) | |
| parent | ae8443853054635326598f6b06fb49429884d558 (diff) | |
| download | django-rest-framework-3376c37861356f1d5799a1a854b159899ddb48ed.tar.bz2 | |
Merge pull request #1865 from mskrajnowski/default-router-listless-viewset
DefaultRouter support for viewsets without an implemented default action
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/routers.py | 11 | 
1 files changed, 10 insertions, 1 deletions
| diff --git a/rest_framework/routers.py b/rest_framework/routers.py index 8f1ab6fa..01fd4b91 100644 --- a/rest_framework/routers.py +++ b/rest_framework/routers.py @@ -19,6 +19,7 @@ import itertools  from collections import namedtuple  from django.conf.urls import patterns, url  from django.core.exceptions import ImproperlyConfigured +from django.core.urlresolvers import NoReverseMatch  from rest_framework import views  from rest_framework.response import Response  from rest_framework.reverse import reverse @@ -287,7 +288,15 @@ class DefaultRouter(SimpleRouter):              def get(self, request, *args, **kwargs):                  ret = {}                  for key, url_name in api_root_dict.items(): -                    ret[key] = reverse(url_name, request=request, format=kwargs.get('format', None)) +                    try: +                        ret[key] = reverse( +                            url_name, +                            request=request, +                            format=kwargs.get('format', None) +                        ) +                    except NoReverseMatch: +                        continue +                  return Response(ret)          return APIRoot.as_view() | 
