gpt4 book ai didi

python - 返回 Get 中的 ID 列表。 Django 休息框架

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:49 25 4
gpt4 key购买 nike

我有一个名为“document-detail-sample”的模型,当您使用 GET 调用它时,就像这样,GET https://url/document-detail-sample/ 然后你得到每一个“文档细节样本”。

模型内部是 id。所以,如果你想要每个 ID,你可以在列表上“迭代”并询问 id。很简单。

但是...前端开发人员不想这样做 :D 他们说工作量太大...

所以,我必须返回 id 列表。 :D

我在想类似GET https://url/document-detail-sample/id-list

但我不知道如何只返回一个列表。我读了this post而且我知道如何在后端获取 id_list。但我不知道我应该实现什么来返回该 url 中的列表...

我的观点很简单:

class DocumentDetailSampleViewSet(viewsets.ModelViewSet):
queryset = DocumentDetailSample.objects.all()
serializer_class = DocumentDetailSampleSerializer

网址是这样的:

router.register(r'document-detail-sample', DocumentDetailSampleViewSet)

所以:

1- 使用像 .../document-detail-sample/id-list" 这样的 url 是个好主意吗?

2- 如果是,我该怎么做?

3- 如果没有,那我该怎么办?

最佳答案

你可以使用@list_route装饰器

from rest_framework.decorators import detail_route, list_route
from rest_framework.response import Response

class DocumentDetailSampleViewSet(viewsets.ModelViewSet):
queryset = DocumentDetailSample.objects.all()
serializer_class = DocumentDetailSampleSerializer

@list_route()
def id_list(self, request):
q = self.get_queryset().values('id')
return Response(list(q))

此装饰器允许您提供与方法同名的附加端点。 /document-detail-sample/id_list/
reference to docs about extra actions in a viewset

关于python - 返回 Get 中的 ID 列表。 Django 休息框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41850558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com