@estry

Ошибка атрибута Python asyncpg?

Есть класс для запросов в базу данных postgresql:
import asyncpg
from asyncpg import Connection


class DataBase:
    def __init__(self):
        self._connection = self._create_connection()

    async def _create_connection(self):
        return await asyncpg.connect(user='user',
                                     password='pass',
                                     database='database',
                                     host='host',
                                     port=5432,
                                     command_timeout=60)

    async def execute(self, command: str, *args,
                      fetch: bool = False,
                      fetchval: bool = False,
                      fetchrow: bool = False,
                      execute: bool = False):
        async with self._connection as connection:
            connection: Connection
            async with connection.transaction():
                if fetch:
                    result = await connection.fetch(command, *args)
                elif fetchval:
                    result = await connection.fetchval(command, *args)
                elif fetchrow:
                    result = await connection.fetchrow(command, *args)
                elif execute:
                    result = await connection.execute(command, *args)
        return result


Однако при создании его экземпляра и вызова метода execute получаю ошибку:
async with self._connection as connection:
AttributeError: __aenter__

Что упускаю, что подправить?

Спасибо за ответы.
  • Вопрос задан
  • 231 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

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