Класс базы данных Psycopg2 не возвращает объект - PullRequest
0 голосов
/ 25 октября 2018

У меня есть класс базы данных, и я пытаюсь извлечь все данные из таблицы.Когда я запускаю функцию db_source, объект не генерируется.Другие запросы внутри класса работают, так что это определенно проблема с возвратом объекта.Вот мой код:

import psycopg2 as psy

class Database:
    def __init__(self):
         self.con = psy.connect(user='postgres',
                               password='xxxx',
                               database='xxxx',
                               host='localhost')
         self.cur = self.con.cursor()

    def execute_query(self, query, args, multiple=False, return_object=False):
        if not multiple and not return_object:
            self.cur.execute(query, args)

        if multiple:
            self.cur.executemany(query, args)

        if return_object:
            self.cur.execute(query, args)
            query_object = self.cur.fetchall()
            return query_object

    def db_source(self):
        self.execute_query(""" SELECT column1, column2::text, column3 FROM table1 """,
                               None, multiple=False, return_object=True)

db = Database()
data = db.db_source()

Я целый час тяну волосы, поэтому любая помощь будет признательна.

1 Ответ

0 голосов
/ 25 октября 2018

Метод должен вернуть объект:

def db_source(self):
    return self.execute_query(""" SELECT column1, column2::text, column3 FROM table1 """,
                           None, multiple=False, return_object=True)
...