2010-12-14 57 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

回答