Имеется табличка
> select * from "Book";
id | date | title | author | genre
----+------------+-------+--------+------------
1 | 2019-01-01 | AAA | B | fantastic
2 | 2019-01-02 | BBB | C | fantastic
3 | 2019-01-02 | 1111 | 2 | technology
4 | 2019-01-02 | 3333 | 4 | technology
5 | 2019-01-02 | 7777 | 88 | technology
session.query(Book.genre, func.array_agg(Book.id, type_=ARRAY(Integer))).group_by(Book.genre)
# ('fantastic', [1, 2])
# ('technology', [3, 4, 5])
Помогите сформировать агреггирующую функцию так, чтобы в списках находились не идентификаторы, а строки из Book целиком
# ('fantastic', [(1, 2019-01-01, AAA, B), (2, 2019-01-02, BBB, C)])
# ('technology', [(3, 2019-01-02, 1111, 2), (4, 2019-01-02, 3333, 4), (5, 2019-01-02, 7777, 88)])