gpt4 book ai didi

python - 如何在 Django REST Framework 中创建特定的逻辑密集型 API 端点

转载 作者:行者123 更新时间:2023-12-02 21:22:12 25 4
gpt4 key购买 nike

我有一个 CustomEvent 模型,并且添加了一个非常简单的通用 ListAPIView 类来拥有标准 API 端点,包括重写 get_queryset 以利用查询字符串。这是该类:

class EventList(generics.ListAPIView):
serializer_class = EventSerializer
queryset = CustomEvent.objects.all()

def get_queryset(self):
# custom get_queryset here
pass

除了具有基本功能的 /events 端点之外,我还希望有一个逻辑繁重的端点,它也返回 CustomEvent 对象,但除了一些更奇特的逻辑之外过滤查询集。也许它会对用户未接触到的后端执行一些检查,从而过滤和转换从 API 返回的数据。我不清楚如何使用 DRF 设置这样的 API 端点...完成此操作的正确方法是什么?

最佳答案

Extra actions就是你所需要的。您可以将名为 process_event 的自定义端点指定为 list_route 操作并定义复杂 View 。

定义后,可以在/events/process_event下访问它。您可能还想为自定义操作指定自定义序列化程序,我提供的链接中的 set_password 示例就是一个很好的示例。

而且,如果这些工作处理起来很繁重,我建议您使用 celery。

类似问题:Implementing RPC in RESTful API using DRF

关于python - 如何在 Django REST Framework 中创建特定的逻辑密集型 API 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26792995/

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