Получить строки из связанной таблицы (объект ORM) через array_agg()Python

Программы на Python
Anonymous
Получить строки из связанной таблицы (объект ORM) через array_agg()

Сообщение Anonymous »

Я хочу получить массив данных таблицы продуктов с помощью функции array_agg. В Postgers это прекрасно работает, но в SQLalchemy это можно сделать только с такими типами данных, как целые числа, строки и т. д. Как реализовать это в SQLalchemy?
Код в postgresql:
select DISTINCT
seller.title, array_agg(product), COUNT(product.id)
from seller_product
INNER JOIN seller ON seller.ozon_id = seller_product.id_seller
INNER JOIN product ON product.ozon_id = seller_product.id_product
WHERE start_id = 36
GROUP BY seller.title ORDER BY COUNT(product.id) DESC

Код Python. Я пытаюсь сделать это так:
slct_stmt_now = select(Seller, func.array_agg(Product.__table__), func.count(Product.id)).distinct().select_from(seller_product)
slct_stmt_now = slct_stmt_now.join(Seller, Seller.ozon_id == seller_product.columns["id_seller"]).join(Product, Product.ozon_id == seller_product.columns["id_product"]).where(seller_product.columns["start_id"] == LAST_START_ID).group_by(Seller)
now_data_txt = session.execute(slct_stmt_now.order_by(func.count(Product.id).desc())).all()


Подробнее здесь: https://stackoverflow.com/questions/786 ... -array-agg

Вернуться в «Python»