Как выполнить Update в SQLAlchemy

Начинаю изучать SQLAlchemy. Однако, столкнулся с бесящей проблемой - я не могу использовать Update. Мне необходимо при каждом выполнении функции добавлять 1 к столбцу.

Я уже с такими проблемами начинаю сомневаться в необходимости алхимии

Вот трек-лог кода:

from sqlalchemy import select, update
from sqlalchemy.ext.asyncio import AsyncSession as Session, async_session, async_sessionmaker, AsyncSession

from models import Company, Vacancy, Education, Profession

async def edu_on_click(c: Call, _: Any, manager: DialogManager, item_id: int, session = Session, **kwargs):
    redis = manager.middleware_data.get("redis")
    manager.dialog_data['education'] = item_id
    tmt = update(Education).where(Education.id == item_id).values(clicks=Education.clicks + 1).execution_options(synchronize_session="fetch")

    # Выполняем асинхронный запрос на обновление записи
    await session.execute(update(Education).where(Education.id == item_id).values(clicks=Education.clicks + 1))

        # Сохраняем изменения в базе данных
    await session.commit()

    await redis.hset(f"user:{c.from_user.id}", "education", item_id)
    await manager.next()

Ошибка:

File "/Users/dummy/PycharmProjects/damnit/dialogs/catalog.py", line 34, in edu_on_click
    await session.execute(update(Education).where(Education.id == item_id).values(clicks=Education.clicks + 1))
TypeError: AsyncSession.execute() missing 1 required positional argument: 'statement'

Буду очень рад любой помощи


Ответы (0 шт):