Ant*_*ell 0 python join sqlalchemy
所以当我
select * from table1 t1 left outer join table2 t2 on t1.id = t2.id;
在sqlite3
终端运行时
我按照我的意愿和预期取回了数据。
但是,当我在 SqlAlchemy 中运行它时
TableOneModel.query.outerjoin(TableTwoModel,TableOneModel.id == TableTwoModel.id)
我只得到table1
信息。我什至没有从 中得到空列table2
。我错过了一些愚蠢的事情吗?
您可能正在使用 Flask-SQLAlchemy,它提供查询属性作为选择模型实体的快捷方式。您的查询相当于
db.session.query(TableOneModel).\
join(TableTwoModel,TableOneModel.id == TableTwoModel.id)
Run Code Online (Sandbox Code Playgroud)
显式查询两个实体:
db.session.query(TableOneModel, TableTwoModel).\
join(TableTwoModel,TableOneModel.id == TableTwoModel.id)
Run Code Online (Sandbox Code Playgroud)
或将实体添加到您的原始实体中:
TableOneModel.query.\
join(TableTwoModel,TableOneModel.id == TableTwoModel.id).\
add_entity(TableTwoModel)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1448 次 |
最近记录: |