Как получить пару ключ (имя столбца) -значение из запроса Select, используя соединение по умолчанию в Django - PullRequest
0 голосов
/ 25 октября 2018

У меня есть 4 заявки в одном проекте Django.Я использую соединение с базой данных Postgres по умолчанию, которое я включил в мой setting.py файл.

Объект django.db.connection представляет соединение с базой данных по умолчанию.Чтобы использовать соединение с базой данных, я вызываю connection.cursor(), чтобы получить объект курсора.Затем я вызываю cursor.execute(sql, [params]) для выполнения необработанных запросов Postgres и cursor.fetchone() или cursor.fetchall() для возврата результирующих строк.

Теперь в одном приложении я хочу использовать (connection.cursor(cursor_factory = psycopg2.extras.RealDictCursor)), чтобы получить записи в паре (key(column name), value), которая предоставляется psycopg2.connect, но имеющееся у меня соединение по умолчанию несовместимо сcursor_factory = psycopg2.extras.RealDictCursor.

Как получить пару (key(column name), value) из базы данных, используя соединение по умолчанию?
В setting.py

`DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',      
        'OPTIONS' : {
                'options': '-c search_path=django,public'
            },
        'NAME': 'postgres',
        'USER': 'abc',
        'PASSWORD': 'password!',
        'HOST': '',
        'PORT': '',
    }
}
`

В файле Python .py

from django.db import connection

cur = connection.cursor(cursor_factory = psycopg2.extras.RealDictCursor) 
cur.execute("SELECT * FROM sometable") 

data= cur.fetchall()

ERROR: cursor() got an unexpected keyword argument 'cursor_factory'

...