Psycopg2数据库类不返回对象

2024-05-19 01:46:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据库类,我试图从一个表中提取所有数据。当我运行函数'db\u 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()

我已经为这个忙了一个小时了,如果有任何帮助我都会很感激的。你知道吗


Tags: 对象selffalsesourceexecutedbreturnif
1条回答
网友
1楼 · 发布于 2024-05-19 01:46:57

方法必须返回对象:

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

相关问题 更多 >

    热门问题