用户的总观看次数

时间:2017-09-11 18:25:12

标签: python django

这是模型

class Answer(models.Model):
    user = models.ForeignKey(User)
    ......
    ......
    views = models.IntegerField(default=0)

如何为{/ 1}}打印他/她曾写过的所有答案的views总数?

请帮助我,先谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用以下查询:

from django.db.models import Sum

total_views = Answer.objects.get(user=user).aggregate(Sum('views'))

如果您希望获得用户列表的总和,例如[1,5,7,12]的ID用户,您可以执行以下操作:

from django.db.models import Sum

ids = [1, 5, 7, 12]

views_list = Answer.objects.filter(user__pk__in=ids).annotate(num_views = Sum('views'))

然后你可以通过以下方式访问每一个:

print(views_list[0].num_views)