SQLAlchemy中的请求特定关系()筛选(或替代)?
我有一个模式,其中大多数表都有关联的用户元表,这些元表存储每个用户的数据,如星号/非星号、评级等 例如,SQLAlchemy中的请求特定关系()筛选(或替代)?,sqlalchemy,pylons,Sqlalchemy,Pylons,我有一个模式,其中大多数表都有关联的用户元表,这些元表存储每个用户的数据,如星号/非星号、评级等 例如,stories--users 但是,我很难弄清楚如何为当前用户执行行和相关元数据行的联合加载,而不必在SQL Alchemy的表达式生成器上编写自己的ORM,也不必使用闭包为每个请求生成新的会话和模式。(relationship()似乎不支持惰性地解析primaryjoin的组件) 最简单、最省力的方法是如何将多对多关系的适当子集视为特定于每个请求的一对多关系(一个用户、多个故事/作者/元素等
stories--users
但是,我很难弄清楚如何为当前用户执行行和相关元数据行的联合加载,而不必在SQL Alchemy的表达式生成器上编写自己的ORM,也不必使用闭包为每个请求生成新的会话和模式。(relationship()
似乎不支持惰性地解析primaryjoin
的组件)
最简单、最省力的方法是如何将多对多关系的适当子集视为特定于每个请求的一对多关系(一个用户、多个故事/作者/元素等)?有一个配方说明了关系()如何表示标准可以在每个查询级别受到影响。您能解释一下为什么不喜欢SQLAlchemy的多对多关系吗?它们的工作方式完全符合您的需要。我希望高效地加载与当前登录用户相关的所有元素的列表,而无需在我的代码中使用
动态\u加载程序
和喷洒.filter()
,或使用属性()
,每次我需要重新设计ORM集合抽象的一部分。(我希望保留修改集合的功能)