В psycopg2 есть ли способ для курсора возвращать результаты в виде строки, а не в формате JSON (или строки), а не в качестве объекта словаря?
Пример
# connect to database
conn = psycopg2.connect(host=host, port=port, user=usr, password=passwd, dbname=dbn)
cur = conn.cursor(cursor_factory=RealDictCursor)
# CREATE table and INSERT
cur.execute("CREATE TABLE t1(c char, i int);")
cur.execute("INSERT INTO t1(c, i) VALUES ('a', 1), ('b', 2), ('c', 3)");
# Execute query
cur.execute("SELECT COUNT(*) FROM t1;")
output1 = cur.fetchall()
cur.execute("SELECT * FROM t1;")
output2 = cur.fetchall()
Ожидайте - Список объектов, отформатированных как JSON или строки
output1 - ['{"count": 3}']
output2 - ['{"c": "a", "i": 1}', '{"c": "b", "i": 2}', '{"c": "c", "i": 3}']
Actual - Список объектов словаря
output1 - [{'count': 3}]
output2 - [{'c': 'a', 'i': 1}, {'c': 'b', 'i': 2}, {'c': 'c', 'i': 3}]
В настоящее время я использую модуль JSON для преобразования каждого объекта в JSON, но мне интересно, есть ли более простой способ (например, внутри psycopg2).