如何在进行连接时更改SqlSoup / SqlAlchemy中的FROM子句?

时间:2012-08-23 04:14:30

标签: python sqlalchemy sqlsoup

我希望能够进行连接并从结果中的两个表中获取特定字段。

我正在做以下事情:

from sqlalchemy import or_, and_, desc
from sqlalchemy.ext.sqlsoup import SqlSoup

db = SqlSoup('mysql://localhost/mydb')

join = (db.table_B, db.table_B.id==db.table_A.id)

query = db.table_A.join(join)

for entry in query:
    print entry

对于每个结果,entry包含table_B的所有字段,并且不会为table_A提供任何字段。我意识到这种情况在默认情况下会因为字段名称不明确而发生。但是,我想手动指定FROM子句来覆盖此行为。我查看了文档,更改FROM子句似乎并非易事。我无法成功地做到这一点。

如果有人能够建议我对上述代码进行正确修改,以便entry.my_col my_col table_A中的字段为{{1}},我将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,我想出来了。问题是我正在查看SqlAlchemy文档,当时我真的需要SqlSoup文档。

我在这里找到了一个很好的连接示例:http://docs.sqlalchemy.org/en/rel_0_7/orm/extensions/sqlsoup.html

当我尝试按照示例中的描述进行操作时,我会得到所有需要的字段。