小编use*_*993的帖子

SQLAlchemy execute()将ResultProxy作为Tuple返回,而不是dict

我有以下代码:

query = """
SELECT Coalesce((SELECT sp.param_value
                 FROM   sites_params sp
                 WHERE  sp.param_name = 'ci'
                        AND sp.site_id = s.id
                 ORDER  BY sp.id DESC
                 LIMIT  1), -1) AS ci
FROM   sites s
WHERE  s.deleted = 0
       AND s.id = 10 

"""

site = db_session.execute(query)
# print site 
# <sqlalchemy.engine.result.ResultProxy object at 0x033E63D0>

site = db_session.execute(query).fetchone()
print site  # (u'375')
print list(site) # [u'375']
Run Code Online (Sandbox Code Playgroud)

为什么SQLAlchemy会为此查询返回元组而不是dicts?我想使用以下样式来访问查询的结果:

print site.ci
# u'375'
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

11
推荐指数
5
解决办法
5万
查看次数

标签 统计

python ×1

sqlalchemy ×1