如何 return 为 DRF Viewset 中的每个函数自定义消息?

How to return custom messages for each functions in a DRF Viewset?

我有一个视图集

class JobPostView(viewsets.ModelViewSet):
    permission_classes = [IsAuthenticated]
    serializer_class = JobPostSerializer
    queryset = JobPost

我如何return 为每个功能自定义消息?例如。如果使用 get 函数,我必须 return“成功列出”数据,post“posted 成功”数据,同样用于放置、修补和删除。

ModelViewSet 继承自 DRF 中的 GenericAPIView,因此您可以覆盖 .list().retrieve().create().update().partial_update().destroy() 来放置您的自定义逻辑和 return 您的自定义 Response。 请参阅 DRF Documentation 了解更多信息。

更新: 对于 Response 中的自定义数据,假设您已经创建了一个模型实例并拥有一个输出序列化程序,例如:

output_serializer = CustomerSerializer(instance=instance, many=False, context={'request': request})

您可以添加 output_serializer.data 字典并像这样发送它:

return Response(output_serializer.data, status=status.HTTP_201_CREATED)