Использую SqlAlchemy Core для выполнения запроса на выборку данных из 3х связанных таблиц.
query = (
select(
[
events.c.id,
events.c.title,
locations.c.city,
locations.c.street,
locations.c.building,
activities.c.name,
]
)
.select_from(
events.join(locations).join(activities)
)
.where(
and_(
events.c.id == pk,
locations.c.id == events.c.location_id,
activities.c.id == events.c.activities_id)
)
.order_by(desc(events.c.created_at))
)
ev = dict(await database.fetch_one(query))
Результат выглядит так
{'id': 1, 'title': 'Test', 'city':Berlin', street': 'Stephans', 'building': '12', 'name': 'basketball'}
Как сгруппировать результаты по приджоиненым тааблицам что бы получить такой результат
{
'id': 1,
'title': 'Test',
'location': [
'city': 'Berlin'
'street': 'Stephans',
'building': '12',
],
'activity': [
'name': 'basketball'
]
}