Ошибка Оператор с данными именем и типами аргументов не найден. Возможно, вам следует добавить явные приведения типов

столкнулся с ошибкой

   raise translated_error from error
sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedFunctionError'>: оператор не существует: integer = character varying
HINT:  Оператор с данными именем и типами аргументов не найден. Возможно, вам следует добавить явные приведения типов.
[SQL: UPDATE applications SET status=$1::VARCHAR WHERE applications.id = $2::VARCHAR]
[parameters: ('Завершен', '1')]

Это происходит после того, как пользователь пытается изменить статус заявки.

БД, которую я использую postgreSQL при помощи orm sqalchemy

На всякий случай прикрепляю свой код сюда

requests.py

@connection
async def new_status_to_db(session, data):
    user = await session.execute(update(Application).where(Application.id == data["status_id"]).values(status=str(data["new_status"])))
    if user:
        session.execute(user)
    print(data)
    await session.commit()

user.py

@admin.message(Admin(), F.text == "Изменить статус заявки ?")
async def status(message: Message, state: FSMContext):
    await state.set_state(Status.id)
    await message.answer("Введите id заявки ", reply_markup=kb.cancel_admin)




@admin.message(Status.id)
async def new_status(message: Message, state: FSMContext):
    await state.update_data(status_id=message.text)
    await state.set_state(Status.new_status)
    await message.answer("Введите новый статус", reply_markup=kb.application_status)


@admin.message(Status.new_status)
async def new_status(message: Message, state: FSMContext):
    await state.update_data(new_status=message.text)
    await state.set_state(Status.submit_status)
    await message.answer("Точно хотите изменить статус заявки?", reply_markup=kb.YESandNOstatus)


@admin.message(Status.submit_status, F.text == "Да, изменить статус ✅")
async def new_status_submit(message: Message, state: FSMContext):
    data = await state.get_data()
    await state.clear()
    print(data)
    await new_status_to_db(data)
    await message.answer("Статус изменён успешно ✅", reply_markup=kb.home_admin)
    await state.clear()

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