需要分组和聚合的Django查询

时间:2013-02-03 15:01:50

标签: django django-queryset

我正在尝试在django中执行此查询,我不确定最佳方法是什么。我需要分组,然后根据那个数来计算和排序......

我有一个直通模型:

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

我希望获得自昨天以来大多数观看次序的项目列表。

1 个答案:

答案 0 :(得分:0)

像这样(未经测试):

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

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