извлечение данных из базы данных postgresql в словарь в django - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь вернуть данные, которые были извлечены из базы данных, в словарь

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 голосов
/ 29 мая 2018

В последних версиях вы можете использовать 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...