ner*_*si3 6 python postgresql psycopg3
我被要求将程序从 psycopg2 迁移到 psycopg3。在这个程序中他们使用
with connection.cursor(cursor_factory=RealDictCursor) as cursor:
Run Code Online (Sandbox Code Playgroud)
获取随后转换为 JSON 文件的字典。
我的问题是 RealDictCursor 似乎是 psycopg2 的额外功能,因此在尝试将其用于 psycopg3 时会出现错误。psycopg3 中有其他使用方法吗?
尝试使用 psycopg2 库但没有成功。除了手动检查返回的数据之外,没有找到 psycopg3 的任何合适的替代方案
在 psycopg3 中将行生成为字典的方法是将 dict_row行工厂传递给连接。
>>> from psycopg.rows import dict_row
>>>
>>> conn = psycopg.connect(dbname='test', row_factory=dict_row)
>>> cur = conn.cursor()
>>> cur.execute('select id, name from users')
<psycopg.Cursor [TUPLES_OK] [INTRANS] (user=me database=test) at 0x7f0a2bebbdc0>
>>> cur.fetchall()
[
{'id': 1, 'name': 'Alice'},
{'id': 2, 'name': 'Bob'},
{'id': 3, 'name': 'Carol'},
{'id': 4, 'name': 'Dave'},
{'id': 5, 'name': 'Eve'}
]
>>>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1700 次 |
| 最近记录: |