Update SimpleRouter

This commit is contained in:
Sumanth Ratna 2020-12-30 17:34:40 -05:00 committed by GitHub
parent 3db8877889
commit 497ebcd6c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -18,6 +18,7 @@ from collections import OrderedDict, namedtuple
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
from django.urls import NoReverseMatch, re_path from django.urls import NoReverseMatch, re_path
from django.views.generic.base import View
from rest_framework import views from rest_framework import views
from rest_framework.response import Response from rest_framework.response import Response
@ -262,7 +263,13 @@ class SimpleRouter(BaseRouter):
'detail': route.detail, 'detail': route.detail,
}) })
view = viewset.as_view(mapping, **initkwargs) if isinstance(viewset, ViewSet) or isinstance(viewset, View):
# `viewset` is either a REST Framework `ViewSet`
# or a Django class-based view.
view = viewset.as_view(mapping, **initkwargs)
else:
# assume that `viewset` is a Django view function
view = viewset
name = route.name.format(basename=basename) name = route.name.format(basename=basename)
ret.append(re_path(regex, view, name=name)) ret.append(re_path(regex, view, name=name))