SQLAlchemy / Elixir属性可访问单独表中的行,而无需使用多个选择查询

时间:2018-09-05 11:12:30

标签: python sqlalchemy

我们有一个Person模型

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创建一个select语句。

是否可以同时加载两个对象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>

0 个答案:

没有答案