【发布时间】:2015-09-25 12:24:51
【问题描述】:
我正在尝试找出使用这些模型 ID 列表查询特定模型的端点的最佳方法。我知道我可以使用 url (/markers/{id}) 中的 id 查询详细端点,但我希望能够一次发布多个 id 并从具有这些 id 的模型实例接收数据。截至目前,我创建了一个自定义 APIView,如下所示(MarkerDetailsList),我基本上只是发布了一个 id 列表并定义了一个自定义 post 方法来解析和查找数据库中的 id,但我发现很难相信这一点是实现这一目标的最佳方式。有没有办法使用视图集来实现同样的目标?我检查了文档并四处搜索,似乎找不到任何东西。有什么建议吗?
class MarkerViewSet(viewsets.ModelViewSet):
permission_classes = [permissions.AllowAny]
authentication_classes = ()
queryset = Marker.objects.all()
serializer_class = MarkerSerializer
class MarkerDetailList(APIView):
queryset = Marker.objects.all()
serializer_class = MarkerSerializer
permission_classes = [permissions.AllowAny]
authentication_classes = (JSONWebTokenAuthentication, )
def post(self, request):
ids = request.data['mapIds']
markers = Marker.objects.filter(id__in=ids)
serializer = MarkerSerializer(markers, many=True)
return Response(serializer.data)
【问题讨论】:
标签: django django-rest-framework