Django - 文章“趋势”查询

时间:2013-05-24 09:40:11

标签: sql django trending

我正在尝试获取文章列表,并根据它们的受欢迎程度对它们进行排序。例如,即使文章的观看次数较多,较旧的文章也应该排名较低。

为了做到这一点,每篇文章都有一个视图计数和一个发布日期。我猜最简单的方法是将文章视图计数除以发布的日期...类似于:

(view_count+comment_count) / date_posted = trend_score

我试图了解Django ORM是否可以实现,即使它是原始SQL?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我想最简单有效的方法是在模型中添加trend_score字段并在保存模型时更新它(如果您有视图计数/评论,则需要保存模型指望它)。然后您可以轻松地按此字段进行过滤。您可以确定使用SQL以某种方式执行此操作,但如果您必须更新模型中已需要更新的值,请在保存时计算得分。