我正在使用下面的代码在Flask app中的GET调用中提取数据库上的表名。:
session = db.session()
qry = session.query(models.BaseTableModel)
results = session.execute(qry)
table_names = []
for row in results:
for column, value in row.items():
#this seems like a bit of a hack
if column == "tables_table_name":
table_names.append(value)
print('{0}: '.format(table_names))
鉴于数据库中的表可能会定期添加/删除,上面的代码是一种有效且可靠的方法来获取数据库中表的名称吗?
答案 0 :(得分:1)
一个明显的优化是使用row["tables_table_name"]
而不是第二个循环。
假设BaseTableModel
是一个表,其中包含所有其他表的名称,而不是使用最快的方法来获取此数据。