我正在修复我的论坛脚本,我想做许多流行的软件所做的事情,并在类别列表中显示每个板类别的最新回复。
我似乎无法获得每个类别只获得一个,或获得最新的东西。我可以得到一个或另一个,但不是两个。
我最近的尝试是:
db.session.query(Post)\
.order_by(Post.id)\
.group_by(Post.category)\
.all()
...每个类别产生一个,但每个类别只有最老的一个。我已经尝试过它既有降序也有升序,似乎都没有按照我的要求行事。
表格信息
发布(ID,作者,标题,张贴,postedon,编辑)
类别(ID,名称,描述,重量)
是否可以撤消为group_by列出帖子的顺序?我觉得这会让我在我需要的地方正确。
答案 0 :(得分:1)
经过多次愚弄,我找到了办法。
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)
我不知道这是否是最佳方式,但至少它可行。