@AlmazKayum

Почему не работают SELECT запросы в Psycopg2?

Библиотека psycopg2-2.7.4
import psycopg2
class Database:
    def __init__(self, database):
        self.conn = psycopg2.connect(database)
        self.cursor = self.conn.cursor()
    def put_balance(self, bal, chat_id):
        with self.conn:
            self.cursor.execute('UPDATE profile SET points = %s WHERE chat_id = %s', (bal, chat_id))
    def get_balance(self, chat_id):
        with self.conn:
            return self.cursor.execute('SELECT points FROM profile WHERE chat_id = %s;', (chat_id,))

В классе Database все методы SELECT выдают None, в то же время как все методы UPDATE и INSERT работают.
Когда применяешь метод fetchall() или fetchone(), выходит следующая ошибка:
return self.cursor.execute('SELECT points FROM profile WHERE chat_id = %s;', (chat_id,)).fetchall()
AttributeError: 'NoneType' object has no attribute 'fetchall'
В чем может быть причина?
  • Вопрос задан
  • 1252 просмотра
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
initd.org/psycopg/docs/usage.html
# Query the database and obtain data as Python objects
>>> cur.execute("SELECT * FROM test;")
>>> cur.fetchone()
(1, 100, "abc'def")

# Make the changes to the database persistent
>>> conn.commit()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы