我正在尝试制作一个网络应用程序的API。 我想做一个API请求,可以提交多个ID。
The django rest框架教程 展示了如何从一个模型中获取所有记录。 比如说 http://127.0.0.1:8000/snippets/ 将返回所有片段记录。 该教程还展示了如何从一个模型中检索一个单项。 http://127.0.0.1:8000/snippets/2/ will return only snippet record with pk=2.
我希望能够申请多个记录,但不是所有记录。
我怎样才能改变这段代码,以便我可以请求多个片段?
snippets/urls.py
from django.conf.urls import url
from snippets import views
urlpatterns = [
url(r'^snippets/$', views.snippet_list),
url(r'^snippets/(?P<pk>[0-9]+)/$', views.snippet_detail),
snippets/views.py
def snippet_detail(request, *pk):
snippet = Snippet.objects.filter(pk__in=pk)
except Snippet.DoesNotExist:
return HttpResponse(status=404)
if request.method == 'GET':
serializer = SnippetSerializer(snippet)
return JSONResponse(serializer.data)