Psycopg2数据库类未返回对象

时间:2018-10-25 19:35:03

标签: python postgresql psycopg2

我有一个数据库类,我正在尝试从表中提取所有数据。当我运行函数“ 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 :(得分:1)

该方法必须返回对象:

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