【发布时间】:2020-08-04 09:08:46
【问题描述】:
示例模型:
class Cluster(models.Model):
index = models.BigIntegerField(blank=True, null=True)
cluster_id = models.BigIntegerField(blank=True, null=True)
module_count = models.BigIntegerField(blank=True, null=True)
我知道我可以通过以下方式获得 django 模型的 groupby 总和:
cluster_id | module_count
-------------------------
1 | 1
1 | 2
2 | 3
2 | 1
sum_mods = clusters.values('cluster_id').annotate(data_sum=Sum('module_count'))
cluster_id | module_count
-------------------------
1 | 3
2 | 4
这会给我按 cluster_id 分组的每组的总和。
如何将此总和分配给原始模型中的列?如:
cluster_id | module_count | data_sum
----------------------------------------
1 | 1 |3
1 | 2 |3
2 | 3 |4
2 | 1 |4
【问题讨论】:
-
添加您的模型
-
模型添加到顶部
标签: sql django django-models group-by sum