相关疑难解决方法(0)

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万
查看次数

sqlalchemy打印结果而不是对象

我正在尝试使用以下代码将查询结果打印到控制台,但它始终向我返回对象位置。

test = connection.execute('SELECT EXISTS(SELECT 1 FROM "my_table" WHERE Code = 08001)')
print(test)
Run Code Online (Sandbox Code Playgroud)

我得到的结果是- <sqlalchemy.engine.result.ResultProxy object at 0x000002108508B278>

如何打印出value而不是对象?

我问的原因是因为我想使用该值进行比较测试。例如:

if each_item not in test:
    # do stuffs
Run Code Online (Sandbox Code Playgroud)

python sqlite sqlalchemy

3
推荐指数
1
解决办法
8312
查看次数

标签 统计

python ×2

sqlalchemy ×2

sqlite ×1