以下是我根据数据库查询结果创建字典的一般类方法:
def make_schema_dict(self):
schema = [i[2] for i in self.cursor.tables()
if i[2].startswith('tbl_') or i[2].startswith('vw_')]
self.schema = {table: {'scheme': [row.column_name for row
in self.cursor.columns(table)]}
for table in schema}
def last_table_query_as_dict(self, table):
return {'data': [{col: row.__getattribute__(col) for col in self.schema[table]['scheme']
if col != 'RowNum'} for row in self.cursor.fetchall()]}
不幸的是,如您所见,有许多并发症。
比如查询多张表时;生成结果字典需要一些 hackish lambda。
你能想到一些更通用的方法吗?