<p>您需要在视图类中添加lookup_字段。假设,您想通过需要添加<code>lookup_field = 'username'</code>的用户名来获取用户。在</p>
<p>示例:</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):
lookup_field = 'username'
def list(self, request):
queryset = User.objects.all()
serializer = UserSerializer(queryset, many=True)
return Response(serializer.data)
def retrieve(self, request, username=None):
queryset = User.objects.all()
user = get_object_or_404(queryset, username=username)
serializer = UserSerializer(user)
return Response(serializer.data)
</code></pre>
<p>现在你的网址将是</p>
^{pr2}$
<p>现在,<code>http://127.0.0.1:8000/users/</code>将返回所有用户,<code>http://127.0.0.1:8000/users/username</code>将返回特定的用户详细信息。在</p>
<p>您可以从<a href="http://www.django-rest-framework.org/api-guide/generic-views/#attributes" rel="nofollow">Django REST framework</a>了解有关<code>lookup_field</code>的更多信息。在</p>