@Lepilov

SqlAlchemy: группировка результата JOIN в один объект?

Использую 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'
]
}
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы