0

我有以下数据库架构

class posts(Base):
    __tablename__ = 'xposts'
    id = Column(Integer, primary_key=True) 



class Comments(Base):  
    __tablename__ = 'comments'
    id = Column(Integer, primary_key=True) 
    comment_parent_id=Column(Integer,unique=True)  
    #comment_id fetches comment of a comment ie the comment_parent_id
    comment_id=Column(Integer,default=None)
    comment_text=Column(String(200))

数据库中的值是

1   12  NULL    Hello First comment
2   NULL    12  First Sub comment

我想使用 sqlalchemy 获取帖子的所有评论和子评论,并且到目前为止

qry=session.query(Comments).filter(Comments.comment_parent_id!=None)
print qry.count()

有没有办法我可以在查询中获取评论的所有子评论,我在同一个表(评论)上尝试了外连接,它看起来很愚蠢并且失败了。

4

1 回答 1

1

您在 sqlalchemy 查询中使用了 all() 函数,之后您可以使用 count 和 len 来查找数据库中的总行。因为这个查询提供了 2'd 列表结果。

qry=session.query(Comments).filter(Comments.comment_parent_id!=None).all()

len(qry)
于 2012-10-06T09:33:58.753 回答