我有以下代码:
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) 我正在尝试使用以下代码将查询结果打印到控制台,但它始终向我返回对象位置。
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)