如何在Django中获得具有条件的列的“和”

如何在Django中获得具有条件的列的“和”,django,python-2.7,postgresql,django-models,Django,Python 2.7,Postgresql,Django Models,我正在使用django 1.11和postgresql 9.5。 在视图中,我正在读取文件并将数据插入数据库 桌子的结构是这样的 id | integer user_id | integer percentage | numeric(3,2) 插入数据后,我得到了如下表 id user_id percentage 1 1 9 2 1 50 3 1 4 4 2

我正在使用django 1.11和postgresql 9.5。 在视图中,我正在读取文件并将数据插入数据库

桌子的结构是这样的

 id           | integer                  
 user_id      | integer  
 percentage   | numeric(3,2)
插入数据后,我得到了如下表

id  user_id percentage
1   1       9
2   1       50
3   1       4
4   2       12
5   2       23
6   3       46
7   3       33  
8   4       87
现在我想找到,每个用户百分比的总和,比如

user-1 = 63
user-2 = 35
user-3 = 79
user-4 = 87
我浏览了文档,发现聚合查询如下:

<modelname>.objects.aggregate(Sum('percentage'))

但,这将给出整个列的总和,我想为个人用户求总和。如何实现。

我认为您需要使用注释

<modelname>.objects.values('user').annotate(percentage=Sum('percentage')).order_by()