首页 > 解决方案 > Django注释聚合方法列表

问题描述

我有这个

qs = queryset\
     .values(x=F('timestamp'))\
     .annotate(min=Min('speed'), avg=Avg('speed'), max=Max('speed')) \
     .order_by('-x')

这导致

<MotionQuerySet [{'x': 1632249000, 'min': 77, 'avg': 83.4, 'max': 96}, {'x': 1632162600, 'min': 61, 'avg': 83.6667, 'max': 114}, ...]

有没有办法让这个输出像

<MotionQuerySet [{'x': 1632249000, 'y': [77, 83.4, 96}, {'x': 1632162600, 'y': [61, 83.6667, 114]}, ...]

?

我可以通过遍历返回的查询集的每个对象并创建一个字典列表来实现它,但我正在寻找一种更好的方法。

标签: pythondjangodjango-modelsdjango-orm

解决方案


推荐阅读