Python 由一组按时间戳排序的用户获取所有帖子

Python 由一组按时间戳排序的用户获取所有帖子,python,flask,sqlalchemy,flask-sqlalchemy,Python,Flask,Sqlalchemy,Flask Sqlalchemy,我有三个模型:一个用户、一个帖子和一个Follow,它记录了一个用户跟踪另一个用户的时间。我想按用户显示当前用户关注的所有帖子。帖子列表应按时间戳排序。但是,列表似乎是按用户id分组的,然后按时间戳排序。我怎样才能获得后续用户仅按时间戳排序的所有帖子 followed_users = Follow.query.filter_by(follower_id=current_user.id).all() followed_posts = [] for i in followed_users:

我有三个模型:一个用户、一个帖子和一个Follow,它记录了一个用户跟踪另一个用户的时间。我想按用户显示当前用户关注的所有帖子。帖子列表应按时间戳排序。但是,列表似乎是按用户id分组的,然后按时间戳排序。我怎样才能获得后续用户仅按时间戳排序的所有帖子

followed_users = Follow.query.filter_by(follower_id=current_user.id).all()
followed_posts = []
for i in followed_users:
    followed_posts.extend(Post.query.filter(Post.author == i.followed_id).order_by(Post.timestamp.desc()).all())

您查询了所有用户,然后查询了每个用户的帖子(按时间戳排序)。最终结果是按时间戳排序的帖子列表,按用户分组。而是由任何用户查询所有帖子。通过这些ID中的任何一个,将对所有后续ID的查询传递给对任何帖子的查询

followed_ids = db.session.query(Follow.followed_id).filter(Follow.follower_id == current_user.id).subquery()
followed_posts = Post.query.filter(Post.author.in_(followed_ids)).order_by(Post.timestamp.desc()).all()