如何 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)
我有一个视图集
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)