Поиск и вывод из БД по фильтру. Python
Не получается сделать адекватный вывод информации по поиску в строке. Пробовал сделать как показан код ниже, через LIKE запрос в БД, ничего не вышло толкового. Еще пробовал через if data['country'] in read. Ошибки ни какой не показывает, ничего не происходит. С питоном работаю недавно, особо в нем пока еще не разобрался. Буду рад, если поможете.
Основной код:
class FMSuser_search_counrty(StatesGroup):
country = State()
@dp.callback_query_handler(text='is_country')
async def del_book_callback_run(call: types.CallbackQuery, state: FSMContext):
await FMSuser_search_counrty.country.set()
await call.message.reply('Введите страну события', reply_markup=user_kb.kb_user_cancel)
await call.answer()
@dp.message_handler(state=FMSuser_search_counrty)
async def country_search_item(message: types.Message, state: FSMContext):
async with state.proxy() as data2:
data2['country'] = message.text
await sqlite_db.sql_read_book_search_country(state)
await show_item_search_country(message, state)
await state.finish()
async def show_item_search_country(message: types.Message, state: FSMContext):
read = await sqlite_db.sql_read_book_search_country(state)
if len(read) == 0:
await bot.send_message(message.from_user.id, f'Ничего не найдено.', reply_markup=user_kb.kb_user)
else:
for ret in read:
if ret[4] == None:
await bot.send_message(message.from_user.id, f'Наименование: {ret[0]}\nДата: {ret[1]}\nСтраны: {ret[2]}\nОписание: {ret[3]}\n', reply_markup=user_kb.kb_user)
else:
await bot.send_photo(message.from_user.id, ret[4], f'Наименование: {ret[0]}\nДата: {ret[1]}\nСтраны: {ret[2]}\nОписание: {ret[3]}\n', reply_markup=user_kb.kb_user)
Код работы с БД:
async def sql_read_book_search_country(state):
cur = base.cursor()
async with state.proxy() as data2:
return cur.execute(f'SELECT * FROM book WHERE country LIKE ?', tuple(data2.values())).fetchall()