我正在尝试将从数据库中检索到的数据返回到字典
view.py
from django.db import connection
def custom_query(query):
cursor = connection.cursor()
cursor.execute(query)
row = cursor.fetchall()
return row
当我尝试将fetchall()
更改为dictfetchall()
时,它会显示'psycopg2.extensions.cursor' object has no attribute 'dictfetchall'
我还尝试在游标方法cursor_factory=psycopg2.extras.DictCursor
中添加一个参数,它表示cursor() got an unexpected keyword argument 'cursor_factory'
答案 0 :(得分:0)
在最近的版本中,您可以使用NamedTupleCursor
,DictCursor
或RealDictCursor
:
导入:
from psycopg2.extras import NamedTupleCursor
作为连接上的默认光标:
psycopg2.connect(dsn, cursor_factory=NamedTupleCursor)
或按查询:
with connection.cursor(cursor_factory=NamedTupleCursor) as cursor:
cursor.execute('select * from tbl')
for row in cursor.fetchall():
print(row.col1, row.col2)