python - 如何为 DRF 视图集中的每个函数返回自定义消息?
问题描述
我有一个视图集
class JobPostView(viewsets.ModelViewSet):
permission_classes = [IsAuthenticated]
serializer_class = JobPostSerializer
queryset = JobPost
我将如何为每个函数返回自定义消息?例如。如果使用 get 函数,我必须返回带有数据的“成功列出”,对于带有数据的“发布成功”的帖子,同样适用于 put、patch 和 delete。
解决方案
ModelViewSet
继承自GenericAPIView
DRF,因此您可以覆盖.list()
, .retrieve()
, .create()
, .update()
, .partial_update()
, 并.destroy()
放置您的自定义逻辑并返回您的自定义Response
. 有关详细信息,请参阅DRF 文档。
更新: 对于响应中的自定义数据,假设您已经创建了模型的一个实例并有一个输出序列化程序,例如:
output_serializer = CustomerSerializer(instance=instance, many=False, context={'request': request})
您可以添加output_serializer.data
dict 并将其发送如下:
return Response(output_serializer.data, status=status.HTTP_201_CREATED)
推荐阅读
- python - 使用 Pywinauto 关闭稀有窗口
- sql - 状态之间的聚合变化
- java - 这个单例哈希映射对多线程安全吗?
- typescript - Postgres - 交易后无法获得查询结果
- module - 从fortran中的模块调用子程序时出错
- android - 将 PDF 下载到 Android 设备下载文件夹 Android
- java - 不确定如何激活 Kafka 消费者消费()方法
- java - 使用 OAuth 获取访问令牌,响应似乎已编码
- java - 如何将自定义测试文件夹与 Android Studio 集成?
- python - Django ORM输入元素数量不等的列表列表