gbe*_*ger 5 python sql sqlalchemy flask-sqlalchemy
我有一个父表和一个子表。这是一种一对多的关系:父母可以有多个孩子,孩子只能有一个父母。
我正在尝试在 SQLAlchemy 中创建一个查询,该查询将为我提供所有父母的数据以及他们的孩子的数量。
到目前为止我有这个:
db.session.query(func.count(models.Child.id), models.Parent)\
.select_from(models.Parent).join(models.Child).group_by(models.Parent.id)
Run Code Online (Sandbox Code Playgroud)
这将产生如下 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
Run Code Online (Sandbox Code Playgroud)
这给了我想要的结果,除非父母没有孩子。然后,该父级就从结果中完全省略,而所需的结果是有一行包含其 id、名称和 0 计数。
| 归档时间: |
|
| 查看次数: |
1867 次 |
| 最近记录: |