在前一段时间我在搞drf中的序列化时候 遇到到问题
需求如下 : 在序列化中返回订单数据内容 如 待付款 已付款 等内容 还要返回它们数量
思路 : 开始时候使用drf自带的视图序列化 然后数量和内容 也重写了get_queryset 但是 点击 未付款 时候内容变化了 但是数量每一个还是上一个状态的数量
解决办法 重写get_queryset 并重写 list方法中添加序列化的返回数据 如下列代码(只有关键代码…)
def get_queryset(self):
queryset = self.queryset
queryset = queryset # queryset 你可以自己根据想要的表查询得到 想要的查询集
all_order_count = self.filter_queryset(queryset).count() # 所有订单
def list(self, request, *args, **kwargs):
response = super().list(request, *args, **kwargs)
result_data = response.data
result_data.update(
{
"all_order_count": all_order_count,
}
)
# 上面的update 相当于除了序列化的追加的返回内容
return Response(
{
"error_code": 0,
"message": "查询成功",
"response": result_data
}
)