【发布时间】:2016-05-20 08:12:49
【问题描述】:
我有一个父表和一个子表。这是一对多的关系:父母可以有很多孩子,一个孩子只能有一个父母。
我正在尝试在 SQLAlchemy 中创建一个查询,该查询将为我提供所有父母的数据,以及他们的孩子人数。
到目前为止,我有这个:
db.session.query(func.count(models.Child.id), models.Parent)\
.select_from(models.Parent).join(models.Child).group_by(models.Parent.id)
这将产生如下 SQL:
SELECT count(child.id) AS count_1, parent.id AS parent_id, parent.name AS parent_name
FROM parent
INNER JOIN child ON parent.id = child.parent_id
这给了我想要的结果,除非父母没有孩子。然后,结果中完全忽略了该父项,而期望的结果是有一行,其 id、name 和 0 计数。
【问题讨论】:
标签: python sql sqlalchemy flask-sqlalchemy