Есть класс для запросов в базу данных 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__
Что упускаю, что подправить?
Спасибо за ответы.