2024-05-16 02:34:00 发布
网友
我想用“热度”算法对帖子列表的结果进行排序。基本上我想要的是:
Posts.query.order_by(Post.votes + 1000/(datetime.utcnow() - Post.datetime)).all()
然而,这类代码并不像预期的那样工作。这根本不考虑时间。你知道吗
试试这个
( db.session.query(Post) .order_by( Post.votes + 1000 / (db.extract('epoch', datetime.now() - Post.datetime)) ) )
您的方法的问题是sqlalchemy无法决定如何除以整数值和时间差。所以你必须手动将时间差解释为一个积分值。在这里,我从差异中提取时代,你可以选择提取任何东西。你知道吗
试试这个
您的方法的问题是sqlalchemy无法决定如何除以整数值和时间差。所以你必须手动将时间差解释为一个积分值。在这里,我从差异中提取时代,你可以选择提取任何东西。你知道吗
相关问题 更多 >
编程相关推荐