ModelViewSet怎么返回包含状态码的数据
时间: 2024-03-15 21:46:50 浏览: 104
HTTP返回状态码表
4星 · 用户满意度95%
在Django REST framework中,可以通过使用Response对象来返回包含状态码的数据。在ModelViewSet中,可以使用`@action`装饰器来自定义动作,然后在自定义的动作中使用Response对象返回数据。例如,下面是一个自定义的动作,返回一个包含状态码的数据:
```python
from rest_framework.decorators import action
from rest_framework.response import Response
class MyViewSet(viewsets.ModelViewSet):
queryset = MyModel.objects.all()
serializer_class = MySerializer
@action(detail=False)
def my_action(self, request):
# 在这里处理自定义的逻辑
data = {'message': 'Hello, world!'}
return Response(data, status=status.HTTP_200_OK)
```
在上面的代码中,我们使用`@action`装饰器定义了一个名为`my_action`的自定义动作,它会返回一个包含状态码200和消息"Hello, world!"的响应。你也可以根据需要修改状态码和消息的内容。
阅读全文