不知何故,文档对我来说不是很清楚。我无法理解 sqlite3 Connection 对象的 row_factory 方法的用途。
基本上,您能解释一下以下片段吗?
def connect_db():
"""Connects to the specific database."""
rv = sqlite3.connect(app.config['DATABASE'])
rv.row_factory = sqlite3.Row
return rv
请您参考如下方法:
将 sqlite3.Row 分配给连接的 row_factory 的代码行创建了一些人所说的“字典游标”,而不是元组,它在 fetchall 或 fetchone 之后开始返回“字典”行。
非常标准的例子:
import sqlite3 as sqlite
conn = sqlite.connect('companies_db.sqlite')
with conn:
conn.row_factory = sqlite.Row
curs = conn.cursor()
curs.execute("SELECT * FROM companies_table")
rows = curs.fetchall()
for row in rows:
print(f"{row['companyid']}, {row['name']}, {row['address']}.")
