@helldess

Как удалять число, которое ввел пользователь, из бд?

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

Код запроса
def set_item_vpn(self, tovarid, colvo):
        return self.cursor.execute("UPDATE tovars_vpn SET colvo = ? WHERE tovarid = ?", (colvo, tovarid,))

Код хендлера
@dp.message_handler(state=purchase.input_amount)
async def check_number(message: types.Message, state: FSMContext):
    async with state.proxy() as data:
        products = data['productsvpn']
    chat_id = message.from_user.id
    balance = BotDB.user_balance(chat_id)
    tovarid = products[0]
    cheque = random.randint(1000000000, 9999999999)
    if number(message.text):
        mes = int(message.text)
        if mes <= products[5]:
            await bot.delete_message(message.from_user.id, message.message_id - 1)
            await bot.send_message(message.from_user.id, f"""✅ <b>Вы успешно купили товар(ы).</b>
➖➖➖➖➖➖➖➖➖➖➖➖➖
 Чек: #{cheque}
 Название товара: {products[1]}
 Куплено товаров: {mes}
 Сумма покупки: {products[4] * mes}₽
 Покупатель: @{message.from_user.full_name} ({message.from_user.id})""", parse_mode='html')
            BotDB.set_item_vpn(tovarid, products[5]-mes)
            await state.finish()
        else:
            await bot.send_message(message.from_user.id, f"""❌ <b>Неверное количество товаров.</b>
➖➖➖➖➖➖➖➖➖➖➖➖➖
 Введите количество товаров для покупки
▶️ От 1 до {products[5]}
➖➖➖➖➖➖➖➖➖➖➖➖➖
 Товар: {products[1]}
 Ваш баланс: {balance}₽""", parse_mode='html')
    else:
        await bot.send_message(message.from_user.id, f"""❌ <b>Данные были введены неверно.</b>
➖➖➖➖➖➖➖➖➖➖➖➖➖
 Введите количество товаров для покупки
▶️ От 1 до {products[5]}
➖➖➖➖➖➖➖➖➖➖➖➖➖
 Товар: {products[1]}
 Ваш баланс: {balance}₽""", parse_mode='html')
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
1.Где вы видите удаление? У вас в запросе идет UPDATE.
2.А commit после запроса где?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы