可以在结果中找到有关列名的信息吗?它必须是任何数据库的通用解决方案。
我的代码
def runQuery(self, query, callback, *args, **kwargs):
"""A method for query with result.
- query -- sql query
- callback -- function with one argument
"""
self.logmsg(_("Executing SQL query"))
self.dbpool.start()
d = self.dbpool.runQuery(query)
self.dbpool.close()
d.addCallback(callback)
给回调赋予元组列表。我需要第一个元组或字典列表上的列名。
答案 0 :(得分:1)
如果你正在使用ConnectionPool
类,那么你可以创建它的子类并覆盖它的_runQuery
方法:
from twisted.enterprise import adbapi
class MyConnectionPool(adbapi.ConnectionPool)
def _runQuery(self, trans, *args, **kw):
trans.execute(*args, **kw)
data = trans.fetchall()
if trans.description is not None:
data = [tuple(c[0] for c in trans.description)] + list(data)
return data