0

記事のリストを取得して、時間の経過に伴う人気順に並べようとしています。たとえば、古い記事は閲覧数が多くてもランクを下げる必要があります。

これを行うために、各記事には閲覧数と投稿日があります。最も簡単な方法は、記事の閲覧数を投稿日で割ることだと思います...次のようなものです。

(view_count+comment_count) / date_posted = trend_score

生のSQLであっても、Django ORMでこれが可能かどうかを理解しようとしていますか? 助けていただければ幸いです。

4

1 に答える 1

1

最も簡単で効果的な方法はtrend_score、モデルにフィールドを追加し、モデルの保存時に更新することだと思います (ビュー数/コメント数がある場合は、とにかくモデルを保存する必要があります)。次に、このフィールドで簡単にフィルタリングできます。確かに SQL を使用して何らかの方法で実行できますが、モデル内で既に更新する必要がある値を更新する必要がある場合は、保存時にスコアも計算してください。

于 2013-05-24T09:42:30.253 に答える