SQLAlchemy:在至少一个多对多相关表中按成员资格进行过滤

SQLAlchemy:在至少一个多对多相关表中按成员资格进行过滤,第1张

SQLAlchemy:在至少一个多对多相关表中按成员资格进行过滤

好的,经过大量研究,我意识到正是我自己对SQL术语的无知使我退缩。我寻找一种找到属于组列表“至少一个”的用户的解决方案的搜索应该是找到属于组列表中“任何”的用户。

any
SQLAlchemy的ORM函数完全满足我的需求,例如:

session.query(ZKUser).filter(ZKUser.groups.any(ZKGroup.id.in_([1,2,3])))

该代码发出此SQL(在MySQL 5.1上):

SELECt * FROM users WHERe EXISTS (    SELECt 1 FROM user_groups, groups     WHERe users.id = user_groups.contact_id         AND groups.id = user_groups.group_id         AND groups.id IN (%s, %s, %s)    )


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5645949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存