python - SqlAlchemy 加入没有外键的表

标签 python sql sqlalchemy

我在 SqlAlchemy 中有两个表

class T1(Record, SqlBase):
    __tablename__ = 'table1'
    __table_args__ = (PrimaryKeyConstraint('column'), {'autoload': True},)

class T2(Record, SqlBase):
    __tablename__ = 'table2'
    __table_args__ = (PrimaryKeyConstraint('column'), {'autoload': True},)

我想在一些公共(public)列上连接两个表

session.query(T1).join(session.query(T2), T1.column == T2.column)

但是我遇到了一个错误

InvalidRequestError: Could not find a FROM clause to join from.  Tried joining to 
... but got: Can't find any foreign key relationships 
between 'T1' and 'FromGrouping object'. Perhaps you
 meant to convert the right side to a subquery using alias()?

如何解决这个问题?两张表都没有外键

最佳答案

有用 Doc

如果两个类都有关系,你可以使用 join,或者你可以像这样写没有 join 的查询

session.query(T1).filter(T1.column == T2.column)

关于python - SqlAlchemy 加入没有外键的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27908387/

相关文章:

python - 多重登录选项(Google/Facebook/Twitter)

mysql - 关联模型 ruby​​ on rails 上的一个数据库查询

python - Camelot单表继承

python - 如何转换 Pandas 数据框中的列表列?

python - xmlrpclib: dictionary key must be string type 错误

php - 复杂的sql连接查询

mysql - delphi独特的UPDATE和DELETE代码

python - 来自 dict 的 sqlalchemy AND 运算符

python - SQLAlchemy:如何连接表并按 != 条件过滤?

python - 如何对 NumPy 数组执行逐元素 bool 运算