【问题标题】:Django query that requires grouping and aggregating需要分组和聚合的 Django 查询
【发布时间】:2013-02-03 15:01:49
【问题描述】:

我正在尝试在 django 中执行此查询,但我不确定最好的方法是什么。我需要分组,然后按该计数进行计数和排序...

我有一个直通模型,例如:

ProjectView(models.Model):
  user = models.ForeignKey(User)
  project = models.ForeignKey(Project)
  datetime_created = models.DateTimeField()

我想获取自昨天以来按大多数视图排序的项目列表。

【问题讨论】:

    标签: django django-queryset


    【解决方案1】:

    类似这样的东西(未测试):

    projects = Project.objects \
                      .annotate(total_views=Count('projectview__project'))
                      .order_by('-total_views')
    

    其中Project 是模型名称,projectviewthrough 表。

    【讨论】:

    • 这仅返回项目 ID 列表....我需要所有项目模型数据(标题、所有者、缩略图等)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2011-09-01
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多