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 次 |
| 最近记录: |