小编dak*_*kra的帖子

从 dict 加载 sqlalchemy orm 模型

比方说,我有一个User带有属性的模式idnameemail和关系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)

python sqlalchemy

5
推荐指数
1
解决办法
2818
查看次数

标签 统计

python ×1

sqlalchemy ×1