如何从SQLAlchemy中的两个表连接数据?

时间:2018-05-31 05:40:06

标签: python postgresql sqlalchemy flask-sqlalchemy

我有3个表:AccountUserOrganization

  • Accountidnameorganization_id组成。
  • Useremailorganization_id
  • 组成
  • Organizationidname
  • 组成

每个Account都注册了Organization(通过organization_id),每个User都注册了Organization。挑战在于显示所有电子邮件(从User)到Account对应的name organization_idorganization_id的{​​{1}}相匹配

这是我的代码,直到现在:

User

1 个答案:

答案 0 :(得分:2)

加入组织ID上的用户和帐户,并根据名称进行过滤:

db.session.query(User.email).\
    join(Account, Account.organization == User.organization).\
    filter(Account.name == 'some name')

Query.join()允许在使用2参数形式时将任意SQL表达式作为on子句传递。