SQLAlchemy关系映射与扩展详解
1. 反向引用的使用
在处理对象关系映射时,除了直接指定反向引用的名称,还可以使用SQLAlchemy提供的 backref() 函数。这个函数允许我们向反向引用创建的关系传递参数。例如,如果我们想在 ProductSummary 类上声明 product 属性,而不是在 Product 类上声明 summary 属性,可以使用 backref() 并设置 uselist=False ,代码如下:
mapper(ProductSummary, product_summary_table, properties=dict(
product=relation(Product,
backref=backref('summary', uselist=False))))
mapper(Product, product_table)
2. 自引用映射
有时,需要使用 relation() 将一个对象映射到同一类的另一个对象,这被称为自引用映射。例如,在我们的模式中, level_table 的每一行都有一个 parent_id 列,指向同一表的另一行:
超级会员免费看
订阅专栏 解锁全文
1884

被折叠的 条评论
为什么被折叠?



