我有一个分层类别模型,其中层次结构是使用物化路径(每个级别一个字符)来维护的:
class Category(Base):
__tablename__ = 'categories'
id = Column(SmallInteger, primary_key=True)
path = Column(String, unique=True, nullable=False)
# problematic relationship
all_subcats = relationship('Category', lazy='dynamic', viewonly=True,
primaryjoin=foreign(path).like(remote(path).concat('%')))
在试图定义“所有子类别”关系时,我遇到了一个问题:
^{pr2}$SQLAlchemy很困惑,因为我加入了同一个专栏。我找到的所有例子都是在不同的列上连接的。在
这种关系有可能吗?我想通过这个连接进行查询,所以custom@property是不可接受的。在
使用最新的git主机或SQLAlchemy版本0.9.5或更高版本。然后:
请注意,无论您处理的是“后代”还是“anscestors”,此模型都使用集合。您需要将
remote()
和foreign()
放在一起,以便ORM将其视为一对多。在相关问题 更多 >
编程相关推荐