Python 使用SQLAlchemy获取查询上的外键计数

Python 使用SQLAlchemy获取查询上的外键计数,python,sqlalchemy,Python,Sqlalchemy,我正在做一个示例/学习博客项目,我在models.py中有两个类,请参见下面的Post和Comment。帖子包含博客帖子信息,评论包含每个帖子的回复 Models.py 我想查询Post类,同时返回每个博客帖子的Comment.reply计数 我目前对Post类的查询如下: @app.route('/index') def explore(): page = request.args.get('page', 1, type=int) posts = Post.query.orde

我正在做一个示例/学习博客项目,我在models.py中有两个类,请参见下面的Post和Comment。帖子包含博客帖子信息,评论包含每个帖子的回复

Models.py

我想查询Post类,同时返回每个博客帖子的Comment.reply计数

我目前对Post类的查询如下:

@app.route('/index')
def explore():
    page = request.args.get('page', 1, type=int)
    posts = Post.query.order_by(Post.timestamp.desc()).paginate(
        page, app.config['POSTS_PER_PAGE'], False)
    next_url = url_for('explore', page=posts.next_num) \
        if posts.has_next else None
    prev_url = url_for('explore', page=posts.prev_num) \
        if posts.has_prev else None
    return render_template("index.html", title='Explore', posts=posts.items,
                          next_url=next_url, prev_url=prev_url)

问题:如何使用Flask和SQLAlchemy获得每篇文章的回复计数?

处理方法是,一旦对文章进行查询,就可以使用模板中的{{posts.comments.count}}访问相关评论,因为这是一对多关系

@app.route('/index')
def explore():
    page = request.args.get('page', 1, type=int)
    posts = Post.query.order_by(Post.timestamp.desc()).paginate(
        page, app.config['POSTS_PER_PAGE'], False)
    next_url = url_for('explore', page=posts.next_num) \
        if posts.has_next else None
    prev_url = url_for('explore', page=posts.prev_num) \
        if posts.has_prev else None
    return render_template("index.html", title='Explore', posts=posts.items,
                          next_url=next_url, prev_url=prev_url)