如何使用sqlalchemy addColumn包含一个func.Count值



我有2个表,我们称它们为A和B。A有一些有关每个用户的信息,并且B有一些用户服务。在这里,我想使用sqlalchemy查询用户和他们的服务数量。

--------
A:
username(primary key),
age,
full_name,
password
B:
username,
service_name
--------

我可以使用session.query(A).filter(A.username.like('foo%'))查询用户,但是我不能添加"one_answers"列。

我不确定是否有一种将计数附加到对象上的更永久的方法,但这将使您同时获得计数和对象。

from sqlalchemy.sql import func
query = session.query(A, func.count(B.service_name))
query = query.outerjoin(B, A.username == B.username)
query = query.group_by(A.username).filter(A.username.like('foo%'))
for (user, user_service_count) in query.all():
    print(user, user_service)

最新更新