Ошибка Оператор с данными именем и типами аргументов не найден. Возможно, вам следует добавить явные приведения типов
столкнулся с ошибкой
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()