比如一个用户置顶一个文章,置顶了 10 天。
到期后这个文章自动取消置顶。
我的想法是
用时间差与这个置顶时间判断一下。
如果大于这个时间,就在文章加裁的时候执行一个函数
把置顶的字段设置为:is_top = False
但是这样感觉哪里总有点不对的地方。
大家对这个有什么思路吗?
谢谢。
比如一个用户置顶一个文章,置顶了 10 天。
到期后这个文章自动取消置顶。
我的想法是
用时间差与这个置顶时间判断一下。
如果大于这个时间,就在文章加裁的时候执行一个函数
把置顶的字段设置为:is_top = False
但是这样感觉哪里总有点不对的地方。
大家对这个有什么思路吗?
谢谢。
1
vone Aug 14, 2022
order by case when expires<now() then 0 else 1 end
|
2
kennir Aug 14, 2022 via iPhone
如果是我会考虑用
|
3
chenjjl Aug 14, 2022
查询文章不分页吗?不分页的话这么做倒是没啥毛病
|
4
huangzhiyia Aug 15, 2022 via Android
1L 已经给出了答案,SQL 取文章的时候过滤下置顶到期时间就可以了。
|
5
ChoateYao Aug 15, 2022
定时任务、延迟队列
|
6
param Aug 15, 2022 via Android
django 的话,用 annotate 算出时间差吧
|
7
param Aug 15, 2022 via Android
objects.annotate(F("top_at")-timezone.now())
|
8
DreamSpace Aug 15, 2022
置顶列表存 redis ,再设个过期时间。
|
9
yinft Aug 15, 2022
一楼的 sql 就够用了
|