Maintain order of views on router for api root view.

This commit is contained in:
Erik Wickstrom 2014-10-19 21:03:33 -07:00
parent 0951523300
commit 12b677039d

View File

@ -16,7 +16,7 @@ For example, you might have a `urls.py` that looks something like this:
from __future__ import unicode_literals
import itertools
from collections import namedtuple
from collections import namedtuple, OrderedDict
from django.conf.urls import patterns, url
from django.core.exceptions import ImproperlyConfigured
from django.core.urlresolvers import NoReverseMatch
@ -277,7 +277,7 @@ class DefaultRouter(SimpleRouter):
"""
Return a view to use as the API root.
"""
api_root_dict = {}
api_root_dict = OrderedDict()
list_name = self.routes[0].name
for prefix, viewset, basename in self.registry:
api_root_dict[prefix] = list_name.format(basename=basename)
@ -286,7 +286,7 @@ class DefaultRouter(SimpleRouter):
_ignore_model_permissions = True
def get(self, request, *args, **kwargs):
ret = {}
ret = OrderedDict()
for key, url_name in api_root_dict.items():
try:
ret[key] = reverse(