У нас есть модель человека
from project.model import User
class Person(Entity, PersonHook):
...
@property
def user_name(self):
u = User.get(self.user_id)
return u.user_name if u else ""
Когда мы делаем большой запрос для Person и обращаемся к Person.user_name, он создает оператор выбора для каждого человека из таблицы User.
Можно ли загрузить два объекта Person и User одновременно?
Наш проект использует старый и устаревший декларативный слой Elixir для SQLAlchemy.
В БД у них есть отношения User.user_id и Person.person_id. Я пробовал несколько форм отношений sqlalchemys
user = relationship('User', primaryjoin='foreign(Person.user_id) == User.user_id')
user = relationship('User', foreign_keys=[user_id], primaryjoin = 'User.user_id == Person.user_id')
Но все, что я получаю, это <RelationshipProperty at 0x7f8fdd5ee5a0; no key>