aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2014-10-22 14:57:48 +0100
committerTom Christie2014-10-22 14:57:48 +0100
commit4ad4fca6cec66b8f088921404e6896ee0b324a03 (patch)
tree1e92ed3c2ab24570b3723ae18e413afc416eae97
parent0951523300c627cbc52c992427069aac562ab70a (diff)
parent674855a114cca8afbcd7a9927170d0d420aea819 (diff)
downloaddjango-rest-framework-4ad4fca6cec66b8f088921404e6896ee0b324a03.tar.bz2
Merge pull request #1969 from erikcw/ordered
Maintain order of views on router for api root view.
-rw-r--r--rest_framework/routers.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/rest_framework/routers.py b/rest_framework/routers.py
index f2d06211..169e6e8b 100644
--- a/rest_framework/routers.py
+++ b/rest_framework/routers.py
@@ -20,6 +20,7 @@ from collections import namedtuple
from django.conf.urls import patterns, url
from django.core.exceptions import ImproperlyConfigured
from django.core.urlresolvers import NoReverseMatch
+from django.utils.datastructures import SortedDict
from rest_framework import views
from rest_framework.response import Response
from rest_framework.reverse import reverse
@@ -277,7 +278,7 @@ class DefaultRouter(SimpleRouter):
"""
Return a view to use as the API root.
"""
- api_root_dict = {}
+ api_root_dict = SortedDict()
list_name = self.routes[0].name
for prefix, viewset, basename in self.registry:
api_root_dict[prefix] = list_name.format(basename=basename)
@@ -286,7 +287,7 @@ class DefaultRouter(SimpleRouter):
_ignore_model_permissions = True
def get(self, request, *args, **kwargs):
- ret = {}
+ ret = SortedDict()
for key, url_name in api_root_dict.items():
try:
ret[key] = reverse(