Python SQLalchemy查询获取DICT的聚合数组
是否可以从SQLAlchemy查询中获取包含词典的聚合数组?e、 gPython SQLalchemy查询获取DICT的聚合数组,python,postgresql,sqlalchemy,Python,Postgresql,Sqlalchemy,是否可以从SQLAlchemy查询中获取包含词典的聚合数组?e、 g session.query( Object.name, func.array_agg({Location.id: Location.name}).label('locations') )\ .join(Location)\ .all() 因此,预期结果将是: [ ('Horizontal neutral circuit', [{143:'A5'},{145:'A8'},{765:'B12
session.query(
Object.name,
func.array_agg({Location.id: Location.name}).label('locations')
)\
.join(Location)\
.all()
因此,预期结果将是:
[
('Horizontal neutral circuit',
[{143:'A5'},{145:'A8'},{765:'B12'}]),
('Fletcher, Lopez and Edwards',
[{41:'A1'},{76:'B8'},{765:'B12'}]),
]
我想你可以用它来建立你的字典:
from sqlalchemy.dialects import postgresql
session.query(
Object.name,
postgresql.array_agg(
func.json_build_object(Location.id,
Location.name)).label('locations'))\
.join(Location)\
.group_by(Object.name)\
.all()
注意,与示例的整数键相比,键将是字符串