2010-12-14 51 views
1

我有一个模式,其中大部分表都有关联的用户存储每个用户数据(如星号/未加星标,评级等)的用户_ * _元表。例如,stories -<users_stories_meta>- usersSQLAlchemy中的请求特定关系()过滤(或替代)?

但是,我无法确定如何为当前用户执行一行的连接加载和相关元数据行,而无需在SQL Alchemy的表达式构建器上编写自己的ORM或使用闭包生成每个请求的新会话和模式。 (relationship()似乎不支持分辨率为primaryjoin的组件)

什么是最简单的,最少重复的方法是将多对多关系的适当子集视为一对多关系(一个用户,许多故事/作者/元素/等等)。

+1

你能解释一下为什么你不喜欢SQLAlchemy的多对多关系?他们的工作完全按照你的想法。 – 2010-12-17 02:42:03

+0

我想高效地加载一个与当前登录用户相关的所有元素的列表,而不必在我的代码中使用'dynamic_loader'并将'.filter()'洒在我的代码中,或者使用'property()'并且必须重新创建部分每次我需要这样做时,ORM的集合抽象概念都会被采纳。 (我想保留修改集合的能力) – ssokolow 2010-12-17 16:45:25

回答