Skip to main content
 首页 » 编程设计

python之sqlite3 Connection 对象的 row_factory 方法的目的是什么

2025年05月04日22lautakyan007

不知何故,文档对我来说不是很清楚。我无法理解 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']}.")