Django Queryset order_by annotate相关模型的计数

时间:2015-10-12 16:49:46

标签: django django-queryset

假设我有一些页面,显示一个页面的视图为checking foo checking foo checking foo checking foo checking foo checking foo checking foo checking foo checking bar checking foo checking bar checking foo checking foo checking foo checking foo checking foo checking foo checking foo checking foo ,并显示全部为PageDetail

PageList

我会跟踪一页的阅读次数:

class Page(models.Model):
    title = models.CharField(max_length=255)
    .... 

每次从每天的唯一会话调用class PageView(models.Model): page = models.ForeignKey(Page) ip = models.CharField(max_length=40) session = models.CharField(max_length=40) .... 视图时,我都会创建一个新的PageDetail对象。 这是一个基本的打击计数器。

现在在PageView我想首先展示最受欢迎的网页。我可以PageListannotate获取select_related的列表,例如:

PageView

但我想要一个 views = PageView.objects.all().values('page__title').annotate(count = Count('page')).order_by('-count').prefetch_related('page') s的查询集,而不是Page的列表。

我错过了什么?

0 个答案:

没有答案