擅长:python、mysql、java
<p>如果要使用同一个类,可以使用viewset并定义list()和retrieve()方法</p>
<p>检查<a href="http://www.django-rest-framework.org/api-guide/viewsets/" rel="nofollow">http://www.django-rest-framework.org/api-guide/viewsets/</a>第一个例子就是这样做的</p>
<pre><code>from django.contrib.auth.models import User
from django.shortcuts import get_object_or_404
from myapps.serializers import UserSerializer
from rest_framework import viewsets
from rest_framework.response import Response
class UserViewSet(viewsets.ViewSet):
"""
A simple ViewSet for listing or retrieving users.
"""
def list(self, request):
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)
serializer = UserSerializer(user)
return Response(serializer.data)
</code></pre>