aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/api-guide/viewsets.md14
-rw-r--r--rest_framework/routers.py1
2 files changed, 8 insertions, 7 deletions
diff --git a/docs/api-guide/viewsets.md b/docs/api-guide/viewsets.md
index 79257e2a..25d11bfb 100644
--- a/docs/api-guide/viewsets.md
+++ b/docs/api-guide/viewsets.md
@@ -27,7 +27,7 @@ Let's define a simple viewset that can be used to list or retrieve all the users
queryset = User.objects.all()
serializer = UserSerializer(queryset, many=True)
return Response(serializer.data)
-
+
def retrieve(self, request, pk=None):
queryset = User.objects.all()
user = get_object_or_404(queryset, pk=pk)
@@ -69,7 +69,7 @@ The default routers included with REST framework will provide routes for a stand
"""
Example empty viewset demonstrating the standard
actions that will be handled by a router class.
-
+
If you're using format suffixes, make sure to also include
the `format=None` keyword argument for each action.
"""
@@ -103,12 +103,12 @@ For example:
class UserViewSet(viewsets.ModelViewSet):
"""
- A viewset that provides the standard actions
+ A viewset that provides the standard actions
"""
queryset = User.objects.all()
serializer_class = UserSerializer
-
- @action
+
+ @action()
def set_password(self, request, pk=None):
user = self.get_object()
serializer = PasswordSerializer(data=request.DATA)
@@ -197,7 +197,7 @@ As with `ModelViewSet`, you'll normally need to provide at least the `queryset`
Again, as with `ModelViewSet`, you can use any of the standard attributes and method overrides available to `GenericAPIView`.
-# Custom ViewSet base classes
+# Custom ViewSet base classes
You may need to provide custom `ViewSet` classes that do not have the full set of `ModelViewSet` actions, or that customize the behavior in some other way.
@@ -211,7 +211,7 @@ To create a base viewset class that provides `create`, `list` and `retrieve` ope
viewsets.GenericViewSet):
"""
A viewset that provides `retrieve`, `update`, and `list` actions.
-
+
To use it, override the class and set the `.queryset` and
`.serializer_class` attributes.
"""
diff --git a/rest_framework/routers.py b/rest_framework/routers.py
index 2a26f6a7..c222f504 100644
--- a/rest_framework/routers.py
+++ b/rest_framework/routers.py
@@ -136,6 +136,7 @@ class SimpleRouter(BaseRouter):
attr = getattr(viewset, methodname)
httpmethods = getattr(attr, 'bind_to_methods', None)
if httpmethods:
+ httpmethods = [method.lower() for method in httpmethods]
dynamic_routes.append((httpmethods, methodname))
ret = []