Mysql
 sql >> Database >  >> RDS >> Mysql

SQLAlchemy desideroso di caricare più relazioni

Per una relazione uno-a-molti o molti-a-molti, è (di solito) meglio usare subqueryload invece, per motivi di prestazioni:

session.query(Product).join(User.addresses)\
    .options(subqueryload(Product.orders),\
             subqueryload(Product.tags)).all()

Questo emette SELECT separati query per ciascuno degli orders e tags .