【发布时间】:2014-08-24 23:20:33
【问题描述】:
我有一个 python 算法,它返回给定用户的数据库行的排名顺序。该算法输出一个主键 ID 列表(这些键可以与 post.id 连接)。如下所示,除了可能有数千个匹配项:
result_rank = [1286, 1956, 6759, 3485, 2309, 3409, 9023, 912, 13098, 23489, 19023, 1239]
我想指示 sqlalchemy 选择这些行,并按照它们在列表中的顺序对它们进行排序。问题是我想对此执行pagination
results = posts.query().filter(posts.id.in_(
resultIds)).order_by(??? how can I order by post.id = result_rank ???).paginate(page_num, posts_per_page)
我使用 Postgresql 作为数据库。
【问题讨论】:
-
我遇到了完全相同的问题。
-
您使用哪个数据库后端?
-
@van 在我的例子中是 postgres。我不知道 mgoldwasser
-
两个问题:(1)给定用户的帖子排名多久变化一次? (2) 你的排名算法是否需要读取数据库中的所有帖子,或者不这样做也可以工作?
-
@Miguel 作为赏金的作者,我会相应地回答我的情况。我正在考虑实时排名,因此每次用户看到该页面时,都会处理排名。每个帖子都有一个分数,与其他帖子相关。所以,是的,我需要处理所有帖子。您如何看待我在下面帖子中的评论?
标签: python flask pagination sqlalchemy flask-sqlalchemy