NoP*_*God 6 python sql sqlalchemy
我希望获得文章列表以及每篇文章的评论数
我的查询看起来像这样 -
comments_subq = meta.Session.query(func.count(Comment.id)).filter(Comment.article_id==Article.id).as_scalar()
articles = meta.Session.query(Article, comments_subq.label("comment_count"))
articles = articles.filter(column('comment_count') >= 5)
Run Code Online (Sandbox Code Playgroud)
它给出了这个错误
column "comment_count" does not exist LINE 5: WHERE comment_count >= 5
Run Code Online (Sandbox Code Playgroud)
如何使用我选择的计数来过滤结果?
这可行,但它是最佳查询吗?
count_subq = meta.Session.query(Comment.article_id, func.count(Comment.article_id) \
.label("comment_count")) \
.group_by(Comment.article_id) \
.subquery()
query = query.add_column(count_subq.c.comment_count.label("comment_count"))
query = query.outerjoin((count_subq, count_subq.c.article_id==Article.id))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5889 次 |
| 最近记录: |