Сделал динамическое добавление инлайн кнопок в тг боте с выгрузкой из БД, но выводит почему-то только последнюю добавленную кнопку
Доброй ночи, помогите, пожалуйста. Сделал динамическое добавление кнопок с выгрузкой из БД. Кнопки создаются отлично, но есть 2 косяка. 1: Кнопка создаётся только после рестарта бота. 2: Работает callback только последней кнопки, остальные не работают сколько их бы не было
Код создания кнопок:
items = [row[0] for row in db.cur.execute('SELECT model FROM items').fetchall()]
markup = InlineKeyboardMarkup(row_width=2) # создаём клавиатуру
for model in items:
markup.add(InlineKeyboardButton(text=model, callback_data=model))
Код callback_query:
@dp.callback_query_handler()
async def callback_query_keyboard_shoes(callback_query: types.CallbackQuery):
if callback_query.data == model:
brend2_name = model
# получение данных из таблицы
db.cur.execute("SELECT model, price, brang, photo_it FROM items WHERE model = ?",
(brend2_name,))
data = db.cur.fetchall()
# форматирование данных в виде строки
text = ''
for row in data:
text += f"model: {row[0]}\n price: {row[1]}\nbrend: {row[2]}"
await bot.send_message(callback_query.from_user.id, text=text)
await bot.send_photo(callback_query.from_user.id, photo=row[3])