从postgresql数据库中检索数据到django中的字典

时间:2018-05-29 16:35:24

标签: django postgresql

我正在尝试将从数据库中检索到的数据返回到字典

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'

1 个答案:

答案 0 :(得分:0)

在最近的版本中,您可以使用NamedTupleCursorDictCursorRealDictCursor

导入:

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)
相关问题