如何根据django中的“相关对象”属性对对象进行分组

如何根据django中的“相关对象”属性对对象进行分组,django,group-by,Django,Group By,我有这两个模型 class Point(models.Model): point = models.IntegerField() description = models.CharField("Action", max_length=128) class PointLog(models.Model): user = models.ForeignKey('users.User', verbose_name ="Related User") poin

我有这两个模型

class Point(models.Model):
    point       = models.IntegerField()
    description = models.CharField("Action", max_length=128)

class PointLog(models.Model):
    user   = models.ForeignKey('users.User', verbose_name ="Related User")
    point  = models.ForeignKey(Point)
    date   = models.DateTimeField(default = datetime.datetime.now())
对象是静态的。我的意思是它们不会动态变化,它显示了哪个动作会带来多少分数。和PointLog对象显示用户的操作。一个用户可以完成多个相同的操作

我想根据用户操作对
PointLog
对象进行分组,并对每个不同操作的点进行求和

帮助:)

采样点对象

description      point
-----------------------
make comment     5
add photo        20
add video        50
点日志对象示例

User        point         date
------------------------------
user1    make comment     ....
user1    make comment     ....
user1    add photo        ....
user1    add photo        ....
user1    add photo        ....
user1    add photo        ....
user1    add video        ....
user1    add video        ....
user1    add video        ....
抽样结果

user1s action;
  make comment 10 points gained
  add photo    80 points gained
  add video    150 points gained
使用以下命令:

result = PointLog.objects.all().values("user", 'point').annotate(num=Count("pk"))

PointLog.objects.all().values('user','point\u description')。注释(points\u获得=总和('point\u point'))

请为point类添加一些数据。您确定点和点日志之间不需要多2多关系吗。动作定义在哪里?(评论2),(添加新的照片20),(添加新的视频50)第一个是描述第二个是点对不起,我不明白,请在你的帖子中(不仅仅在评论中)提供这两个点的数据,点,点日志,并描述分组和求和应该返回什么。对不起。PointLog类中有一个属性(int字段不是外键)显示受影响对象的id。我不能在不更改模型的情况下执行此操作吗?很抱歉,缺少解释。