Sqlalchemy选择相关表格的问题

时间:2011-10-26 10:23:15

标签: sqlalchemy

我有模特'用户'谁属于模特'角色'。一个角色'有很多用户'和一个用户'有一个角色'。

如果我想选择所有用户'角色'隐藏让我们说(这纯粹是一个例子)我必须做这样的事情:

User.query.join(Role).filter(roles_table.c.hidden==1).all()

只需在此查询中使用join,我就会收到以下消息:

  

选择语句' SELECT role.hidden FROM role,user WHERE role.id =   user.role_id'由于自相关而没有返回FROM子句;   指定correlate()以手动控制相关性。

有人能指出我使用此查询的正确方向吗?

2 个答案:

答案 0 :(得分:1)

如果您尝试以下内容怎么办?

User.query.join(Role).filter(Role.hidden==1).all()

答案 1 :(得分:1)

User班级与Role有关系,最简单的方法是:

User.query.filter(User.role.has(hidden=1))