如何基于另一列聚合django表的一列

  • 本文关键字:一列 django 何基于 django
  • 更新时间 :
  • 英文 :


我有一个像下面这样的表格:

id    |    type   |    code
-------------------------------------
0.        5             2
1         6             6
2         8            16
3         4            11
4         5             4
5         2             2
6         4             1
7         10            6
8         9             2

我所需要的输出是一个groupby on代码列表,如下所示:

{ '2': [5,2,9], '6': [6, 10], '16': [8], '11':[4], ...}

我执行了这个查询,但是它没有执行正确的查询:

type_codes = [{ppd['code']:ppd['type_id']} for ppd in 
MyClass.objects 
.values('code', 'type_id')
.order_by()
]

任何帮助将不胜感激

您可以尝试以下操作,迭代查询结果(使用values_list):

data = MyClass.objects..values_list('code', 'type_id')
res = {}
for code, type in data:
res[code] = [type] if code not in res.keys() else res[code] + [type]

最新更新