【问题标题】:SQLAlchemy - Classical map relationsSQLAlchemy - 经典映射关系
【发布时间】:2013-09-19 15:29:58
【问题描述】:

我在使用 SQLAlchemy 经典映射时有些吃力。我的场景如下:

class Manager(object):
    def __init__(self):
       self.id = uuid.uuid4()
       .....

class Client(object):
    def __init__(self):
        self.id = uuid.uuid4()
        self.manager = None

我想要做的是说服 SQLAlchemy 在客户端和管理器之间创建关系(客户端有管理器)白白必须在客户端级别定义管理器 id 属性。在上面的代码中,'manager' 属性将是 Manager 类的一个实例。在这种情况下,我使用的是经典映射。任何帮助将不胜感激。

mapper(Client, self._table, column_prefix='_', properties={'managed_by_relation':relationship(User, order_by=self._table.c.id, foreign_keys=[self._table.c.manager_id]))

上面的代码描述了我想要避免的。

【问题讨论】:

    标签: python python-2.7 python-3.x sqlalchemy


    【解决方案1】:

    似乎您正在寻找某种方法来自动创建 ForeignKey?我在这里写了一篇关于模拟更“传统”声明式 ORM 的一种可能方法的博客文章:magic, a "new" orm

    【讨论】:

    • 谢谢迈克,非常感谢。我今天会看看它。希望如果我回来提出更多问题,您不会介意:)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 2021-08-23
    • 2014-04-08
    • 2012-08-27
    • 2021-10-08
    • 2020-09-18
    • 1970-01-01
    相关资源
    最近更新 更多