SQLAlchemy:按多个值筛选单个关系属性
假设我有两个对象,具有一对多关系:SQLAlchemy:按多个值筛选单个关系属性,sqlalchemy,Sqlalchemy,假设我有两个对象,具有一对多关系: class A(Base): ... collection = relationship("B") class B(Base): ... a_id = Column(Integer, ForeignKey('table_for_a.id'), nullable=False) key = Column(String(50), nullable=False) 如何查询A集合中同时包含B(“苹果”)、B(“橙色”)和B(“
class A(Base):
...
collection = relationship("B")
class B(Base):
...
a_id = Column(Integer, ForeignKey('table_for_a.id'), nullable=False)
key = Column(String(50), nullable=False)
如何查询A集合中同时包含B(“苹果”)、B(“橙色”)和B(“香蕉”)的A
谢谢。经过一段时间的挖掘,我发现我可以像这样得到想要的结果:
from sqlalchemy import and_
...
session.query(A).filter(
and_(
A.collection.any(key="apple"),
A.collection.any(key="orange"),
A.collection.any(key="banana")
)
).all()