很抱歉,我无法提供我的整个代码作为我的工作,我目前正在使用我的个人笔记本电脑。
我是django的新手,需要帮助解决这个问题
我需要获得非常计数的结果
所以, 我有内容和评论表 内容包含content_id和title 评论有comment_id,comment,content_id(FK)
每次用户评论内容评论表时都会记录这些内容。 例如。 评论
comment_id comment content_id
1 blah blah 1
2 blah blah 1
3 blah blah 2
4 blah blah 3
我需要获取评论数量最多的内容标题。 所以对于上面的例子, content_id 1评论最多,因为它有2条评论。 我需要从表格内容中获取content_id 1的标题。
在SQL中我可以使用类似的东西(不完全是,但只是为了让你知道我想要的东西)SELECT DISTINCT(content.content_id) AS no_of_comments,
title
FROM content INNER JOIN comment
ON content.content_id = comment.content_id
GROUP BY content.content_id
ORDER BY no_of_comments DESC
然后我可以
no_of_comments title
2 Title Of Content One
1 Title Of Content Two
1 Title Of Content Three
然后我只需要返回“内容标题一”。由于我的代码
我知道如何从SQL中获取这些内容,从上面的代码开始,但不知道如何使用django
我想我可能需要在django中使用游标内容,如果有的话, 但是当我从加入这两张桌子开始时,我不知道该怎么做。 我正在使用django 1.6
请帮帮我。
答案 0 :(得分:0)
我认为您可以通过此查询实现您想要的目标:
Content.objects.annotate(count=Count('comment__id')).order_by('-count')
不需要GROUP BY