【发布时间】:2019-07-02 02:49:45
【问题描述】:
如果我有一个operator 表和一个user 表,并且我与operator 中的user 表有多个关系,其中pm 是一个relationship(),它连接到operator.pm_id == user.id而sales 是连接operator.sales_id == user.id 的relationship(),如何在select 语句中从user 表中引用username 列,类似于以下内容:
stmt = select([operator, operator.pm.username.label('pm'), operator.sales.username.label('sales')])
这显然行不通,但我怎样才能完成类似的事情呢?
【问题讨论】:
-
对不起,我不明白你想在这里完成什么。是否要执行联接操作?一个集合体?你能用简单的英语描述查询的期望结果吗?
-
如果我说 select([operator]),我会得到基本的运算符列和 2 个 id:pm_id 和 sales_id。我想做的就是从用户表中返回这 2 个 id 的用户名,而不是整数 id。代替
operator.name ... | operator.pm_id | operator.sales_id,返回operator.name ... | operator.pm(username from user table) | operator.sales(different username from user table)
标签: python sqlalchemy relationship