Как выполнить 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'
Буду очень рад любой помощи