Para um relacionamento de um para muitos ou de muitos para muitos, é (geralmente) melhor usar
subqueryload
em vez disso, por motivos de desempenho:session.query(Product).join(User.addresses)\
.options(subqueryload(Product.orders),\
subqueryload(Product.tags)).all()
Este problema separa
SELECT
consultas para cada um dos orders
e tags
.