Python 如何查找每个“的最新条目”;";用炼金术

Python 如何查找每个“的最新条目”;";用炼金术,python,mysql,sqlalchemy,Python,Mysql,Sqlalchemy,我正在修改我的论坛脚本,我想做许多流行的软件所做的事情,并在类别列表中显示每个板块类别的最新回复 我似乎无法得到每个类别只有一个或是最新的东西。我可以买一个或另一个,只是不能两者都买 我最近的尝试是: db.session.query(Post)\ .order_by(Post.id)\ .group_by(Post.category)\ .all() …这导致每个类别有一个,但每个类别中只有最古老的一个。我尝试过降序和升序,但都没有达到我想要的效果 表格信息 帖子(

我正在修改我的论坛脚本,我想做许多流行的软件所做的事情,并在类别列表中显示每个板块类别的最新回复

我似乎无法得到每个类别只有一个或是最新的东西。我可以买一个或另一个,只是不能两者都买

我最近的尝试是:

db.session.query(Post)\
    .order_by(Post.id)\ 
    .group_by(Post.category)\
    .all()
…这导致每个类别有一个,但每个类别中只有最古老的一个。我尝试过降序和升序,但都没有达到我想要的效果

表格信息

帖子(id、作者、标题、帖子、帖子、编辑)

类别(id、名称、说明、重量)


是否有可能颠倒小组成员的职位排列顺序?我觉得这会让我找到我需要的地方。

在做了很多傻事之后,我找到了一种方法来做到这一点

posts = db.session.query(Post.id)\
    .order_by(Post.id.desc())\
    .correlate(Category)\
    .filter(Category.id == Post.category)\
    .limit(1)\
    .as_scalar()

categories = db.session.query(Category, Post).filter(Post.id == posts).order_by(Category.weight)
我不知道这是否是最好的方法,但至少它是有效的