至少一個B我有兩個表:SQLAlchemy的,選擇這樣一個具有與凸起標誌
class A(Base):
id = Column(Integer, primary_key=True)
class B(Base):
id = Column(Integer, primary_key=True)
a_id = Column(Integer, ForeignKey('a.id'))
a = relationship(A)
flag = Column(Boolean, default=False)
正如你所看到的 - 從B中的每個對象從一個關係到一個對象,也更多的B中的一個對象可能與A中的單個對象有關。
我需要選擇所有A中至少有一個與標誌== False相關的B。
現在我想的東西是這樣的:
selection = session.query(A).\
join(B).\
filter(
B.a_id == A.id,
B.flag == False,
).\
group_by(A)
但我不知道兩件事情:
如果該查詢是正確的? (我正在處理大量的數據,測試它非常複雜)。
如果此查詢從sqlalchemy哲學的角度來看是正確的? (我是新手)。
是否有可能沒有後端? – sennoy 2014-09-23 14:09:43
用選項更新了一個答案,沒有backref – van 2014-09-23 15:59:45
謝謝!而已 – sennoy 2014-09-24 16:32:10