Фильтрация зависимых запросов () (или альтернатива) в SQLAlchemy? - PullRequest
1 голос
/ 14 декабря 2010

У меня есть схема, в которой у большинства таблиц есть связанные пользователи _ * _ метатаблицы, в которых хранятся данные о пользователях, такие как помеченные / не помеченные звездочкой, рейтинги и т. П.

Например, stories -< users_stories_meta >- users.

Однако у меня возникают проблемы с выяснением того, как выполнить объединенную загрузку строки и связанной строки метаданных для текущего пользователя без написания собственного ORM поверх построителя выражений SQL Alchemy или использования замыкания для генерации новый сеанс и схема для каждого запроса. (relationship(), похоже, не поддерживает распознавание компонентов primaryjoin лениво)

Каким будет самый простой, наименее изобретательский способ, чтобы рассматривать соответствующий поднабор отношений «многие ко многим» как отношение «один ко многим» (один пользователь, много историй / авторов / элементов / и т. Д.) на каждый запрос?

1 Ответ

2 голосов
/ 21 декабря 2010

Существует рецепт на http://www.sqlalchemy.org/trac/wiki/UsageRecipes/GlobalFilter, который показывает, как можно влиять на критерий, представленный отношением (), на уровне запроса.

...