在Django中计算M2M对象

时间:2011-11-10 20:36:00

标签: django model count many-to-many

我有以下型号:

  

class Task(Model):

solvers = ManyToManyField(User, related_name='slvrs')

现在我想计算所有任务的求解器总数。 例如,数据库中有3个Task对象。第一个由2个用户解决(M2M字段涉及2个用户),第二个用3个,最后一个用0。 我应该得到所有这些解算器的计数:2 + 3 + 0 = 5.

我相信我必须使用Count聚合,但我知道哪些模型和哪些注释。

1 个答案:

答案 0 :(得分:1)

Task.objects.aggregate(count=Count('solvers'))['count']

应该得到你所需要的东西。