0
我要讓這樣的查詢(我不知道它會怎樣看,即使在SQL,所以我可能是這是否甚至有可能完全關閉基地的):在SQLAlchemy中,如何在子關係上進行此條件查詢?
考慮:
class Parent(Base):
__tablename__ = 'parent'
__table_args__ = {
UniqueConstraint("name", "version")
}
name = Column(String, primary_key=True)
parent = Column(JSONEncodedDict)
tags = relationship(ParentTags)
version = Column(Integer)
class ParentTags(Base)::
__tablename__ = 'parent_tags'
__table_args__ = {
UniqueConstraint("name", "tag"),
}
id = Column(Integer, Sequence("parent_tag_id_seq"), primary_key=True)
name = Column(String, ForeignKey("parent.name"))
tag = Column(String)
version = Column(Integer)
我想這些查詢:
所有的父母由名爲版本;如果我要求命名版本爲「生產」,那麼只有版本位於tags =「Production」標籤表中的版本元組的版本元組。
所有父母按指定版本默認爲最新;如果我要求一個名爲「Production」的版本,那麼如果一個已命名的Parent有一個「Production」版本,則返回該版本;如果沒有,則返回最大版本。
如果不存在此類版本,則按版本返回最新的特定父代。
我正在使用SQLAlchemy 0.7.4,這讓我知道最新的。歡迎任何建議。
如果你有具體這將是很好示例 - 數據庫中的數據以及查詢返回的數據。 – plaes 2012-02-07 06:51:56