【问题标题】:django aggregation over joining modeldjango聚合超过加入模型
【发布时间】:2015-03-16 03:01:25
【问题描述】:

假设我有 3 个模型

class User(models.Model):
    pass

class Content(models.Model):
    created_by = models.ForeignKey(User)

class Like(models.model):
    liked_by = models.ForeignKey(User)
    content = models.ForeignKey(Content, related_name='likes')

我如何使用聚合来计算出获得最多赞的顶级用户?

我试过了:

result = Like.objects.annotate(num_liked=Count('item__created_by'))

但这会返回类似的对象,似乎不合法。

【问题讨论】:

    标签: django


    【解决方案1】:

    我想我已经解决了,但需要有人为我验证:

    User.objects.annotate(liked=Count('content__likes'))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      • 2016-07-26
      • 2019-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多