2
나는 계층 적 DB 구조를 가지고 있으며 여러 수준 (관계)의 필드에 필터를 사용하여 쿼리를 만들고 싶습니다. 여기SQLAlchemy : 여러 필드 관계를 필터링하는 방법은 무엇입니까?
는 클래스 선언의 예입니다 :
class cTransfer(Base):
__tablename__ = 'mesTransfer'
transferID = Column(UNIQUEIDENTIFIER, primary_key=True, autoincrement=False)
quanID = Column(UNIQUEIDENTIFIER, ForeignKey('mesQuantum.quanID'))
quanObj = relationship('cQuantum', foreign_keys=[quanID], lazy='joined')
class cQuantum(Base):
__tablename__ = 'mesQuantum'
quanID = Column(UNIQUEIDENTIFIER, primary_key=True, autoincrement=False)
orderItemID = Column(UNIQUEIDENTIFIER, ForeignKey('mesOrderItem.orderItemID'))
orderItemObj = relationship('cOrderItem', foreign_keys=[orderItemID], lazy='joined')
class cOrderItem(Base):
__tablename__ = 'mesOrderItem'
orderItemID = Column(UNIQUEIDENTIFIER, primary_key=True, autoincrement=False)
orderID = Column(UNIQUEIDENTIFIER, ForeignKey('mesOrderHeader.orderID'))
orderHeaderObj = relationship('cOrderHeader', foreign_keys=[orderID], lazy='joined')
내가 누구의 관련 주문 ID 일부 목록에있는 모든 cTransfer를 가져 싶습니다.
그래서 나는이 작업을 수행하려고 :"나도 'InstrumentedAttribute'객체가 아니다 cTransfer.quanObj과 관련된 '비교기'개체 속성 'orderItemObj'이 없다"
q = session.query(cTransfer).filter(cTransfer.quanObj.orderItemObj.orderID.in_([1, 2]))
나는 예외가 이러한 쿼리를 어떻게 수행 할 수 있습니까?
그게 전부 야! 고마워요! :) –