我有模特'用户'谁属于模特'角色'。一个角色'有很多用户'和一个用户'有一个角色'。
如果我想选择所有用户'角色'隐藏让我们说(这纯粹是一个例子)我必须做这样的事情:
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()以手动控制相关性。
有人能指出我使用此查询的正确方向吗?
答案 0 :(得分:1)
如果您尝试以下内容怎么办?
User.query.join(Role).filter(Role.hidden==1).all()
答案 1 :(得分:1)
让User
班级与Role
有关系,最简单的方法是:
User.query.filter(User.role.has(hidden=1))