【发布时间】:2020-05-29 07:52:13
【问题描述】:
所以,我有以下几点:
class ObjectViewSet(
mixins.CreateModelMixin,
mixins.ListModelMixin,
mixins.RetrieveModelMixin,
mixins.DestroyModelMixin,
viewsets.GenericViewSet
):
"""
REST API endpoints for Objects.
"""
serializer_class = ObjectSerializer
queryset = Object.objects.all()
这会返回一个列表 GET 请求:
[
{
"uuid": "787573a2-b4f1-40df-9e3a-8555fd873461",
},
{
"uuid": "2ab56449-1be1-47d7-aceb-a9eaefa49665",
}
]
但是,我怎样才能稍微改变这个 mixins 的响应,使其类似于以下内容:
{
success: true,
message: 'Some Extra Useful Message',
data: [
{
"uuid": "787573a2-b4f1-40df-9e3a-8555fd873461",
},
{
"uuid": "2ab56449-1be1-47d7-aceb-a9eaefa49665",
}
]
}
这可能吗,还是我应该只编写自己的自定义端点 Response() 而不使用 DRF 的 mixins 功能?
所以,本质上,切换自定义:
Response(data, status=None, template_name=None, headers=None, content_type=None)
收件人:
response = {
'success': true,
'message': 'Some Extra Useful Message',
'data': serializer.data
}
Response(response, status=None, template_name=None, headers=None, content_type=None)
【问题讨论】:
-
完美,谢谢@AshrafulIslam
标签: django django-rest-framework