我正在尝试获取文章列表,并根据它们的受欢迎程度对它们进行排序。例如,即使文章的观看次数较多,较旧的文章也应该排名较低。
为了做到这一点,每篇文章都有一个视图计数和一个发布日期。我猜最简单的方法是将文章视图计数除以发布的日期...类似于:
(view_count+comment_count) / date_posted = trend_score
我试图了解Django ORM是否可以实现,即使它是原始SQL?非常感谢任何帮助。
答案 0 :(得分:1)
我想最简单有效的方法是在模型中添加trend_score
字段并在保存模型时更新它(如果您有视图计数/评论,则需要保存模型指望它)。然后您可以轻松地按此字段进行过滤。您可以确定使用SQL以某种方式执行此操作,但如果您必须更新模型中已需要更新的值,请在保存时计算得分。