比方说,我有一个User带有属性的模式id,name,email和关系languages。是否可以User从现有数据创建一个实例,其行为就像我用 查询它一样dbsession.query(User).get(42)?我特别想说的是,我希望能够访问user.languages创建子查询并填充属性。
这是一个代码示例:
我有一堂课User:
class User(Base):
id = Column(Integer, primary_key=True)
name = Column(String(64))
email = Column(String(64))
languages = relationship('Language', secondary='user_languages')
Run Code Online (Sandbox Code Playgroud)
我已经有很多用户存储在我的数据库中。例如,我知道我的数据库中有这个用户:
user_dict = {
'id': 23,
'name': 'foo',
'email': 'foo@bar',
}
Run Code Online (Sandbox Code Playgroud)
所以我拥有除了关系之外的所有属性。现在我想创建一个 sqlalchemyUser实例并在 sqlalchemy 的系统中注册它,以便我可以在languages需要时获得它。
user = User(**user_dict)
# Now I can access the id, name email attributes
assert user.id == 23
# but since sqlalchemy thinks it's …Run Code Online (Sandbox Code Playgroud)