2010-12-14 52 views
1

J'ai un schéma où la plupart des tables ont des utilisateurs associés _ * _ tables de méta qui stockent des données par utilisateur comme étoilé/non-étoilé, notation, et autres. Par exemple stories -<users_stories_meta>- users. Cependant, je n'arrive pas à trouver comment effectuer une charge jointe d'une ligne et la ligne de métadonnées associée pour l'utilisateur actuel sans écrire mon propre ORM au-dessus du générateur d'expression de SQL Alchemy ou en utilisant une fermeture pour générer une nouvelle session et un schéma pour chaque requête. (relationship() ne semble pas aider à résoudre des composants de primaryjoin paresseusement)Filtrage (ou alternative) spécifique à la requête() dans SQLAlchemy?

Qu'est-ce que la plus simple, la moins de roue réinvention serait de traiter le sous-ensemble approprié des nombreux à-plusieurs comme un à-plusieurs (un utilisateur, plusieurs histoires/auteurs/éléments/etc.) spécifique à chaque demande?

+1

Pourriez-vous expliquer pourquoi n'aimez-vous pas les relations many-to-many de SQLAlchemy? Ils fonctionnent exactement comme vous le souhaitez. –

+0

Je veux charger efficacement une liste de tous les éléments liés à l'utilisateur actuellement connecté sans devoir utiliser 'dynamic_loader' et saupoudrer' .filter() 'dans tout mon code ou utiliser' property() 'et devoir réinventer une partie de l'abstraction de la collection de l'ORM chaque fois que je dois le faire. (Je veux garder la possibilité de modifier la collection) – ssokolow

Répondre