在Django中对聚合进行分组

时间:2020-07-20 12:15:44

标签: django django-queryset django-aggregation

对于报告,我想将一些计数分组在一起,但是仍然可以访问行数据。我觉得我经常这样做,但是今天找不到任何代码。这是在B2B视频交付平台中。我的建模的简化版本:

  • 视频(名称)
  • 公司(名称)
  • 查看(视频,公司,时间)

我想显示哪些公司观看了最多的视频,还希望显示哪些视频是最受欢迎的。

+-----------+-----------+-------+
|  Company  |   Video   | Views |
+-----------+-----------+-------+
| Company E |  Video 1  |  1215 |
|           |  Video 2  |     5 |
|           |  Video 3  |     1 |
| Company B |  Video 2  |   203 |
|           |  Video 4  |     3 |
+-----------+-----------+-------+

我可以通过以下方式做到这一点:对视图进行注释(以获取公司订单的权利,首先是大多数视图),然后循环公司并为每个公司执行视图查询,但是我该如何在O(1-3 )而不是O(n)?

1 个答案:

答案 0 :(得分:0)

所以我想我和x_length_functionA = 0; 一起去了。我似乎总是对此感到困惑,这的确意味着我必须做几次额外的查找才能提取视频和公司名称...但是3比n查询更健康。

.values()
相关问题