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

Код:
@dp.callback_query_handler(lambda c: c.data.startswith('brandedit_'))
async def edit_taste(callback_query: types.CallbackQuery, state: FSMContext):
brang = callback_query.data.split('_')[1]
models = db.cur.execute('SELECT DISTINCT model FROM items WHERE brang = ?', (brang,)).fetchall()
markup = InlineKeyboardMarkup(row_width=1)
buttons = [InlineKeyboardButton(text=row[0], callback_data=f"m_{row[0]}") for row in models
if not any(row[0] in button.text for button in markup.inline_keyboard)]
# Если список кнопок не пустой, создаем разметку клавиатуры и отправляем сообщение пользователю
if buttons:
markup = markup.add(*buttons)
await bot.send_message(callback_query.from_user.id, "Выберите модель", reply_markup=markup)
else:
await bot.send_message(callback_query.from_user.id, "нету моделей")
@dp.callback_query_handler(lambda c: c.data.startswith('m_'))
async def show_item(callback_query: types.CallbackQuery, state: FSMContext):
model = callback_query.data.split('_')[1]
async with state.proxy() as data:
data['model_edit'] = model
items = [row[0] for row in db.cur.execute('SELECT taste FROM items WHERE model = ?', (model,)).fetchall()]
markup = InlineKeyboardMarkup(row_width=2)
for taste in items:
markup.add(InlineKeyboardButton(text=taste, callback_data=f"te_{taste}"))
await bot.send_message(callback_query.from_user.id, f"Выберите вкус модели {model}", reply_markup=markup)
class te_edit(StatesGroup):
taste_edit = State()
@dp.callback_query_handler(lambda c: c.data.startswith('te_'))
async def taste_item(callback_query: types.CallbackQuery, state: FSMContext):
taste = callback_query.data.split('_')[1]
async with state.proxy() as data:
model = data['model_edit']
db.cur.execute("SELECT model, price, brang, photo_it, taste, availability FROM items WHERE taste = ? and model = ?",
(taste, model,))
data = db.cur.fetchall()
await bot.send_message(callback_query.from_user.id, f"Напишите новое название для вкуса: {taste}")
await te_edit.taste_edit.set()
@dp.message_handler(state=te_edit.taste_edit)
async def process_model(message: types.Message, state: FSMContext):
async with state.proxy() as data:
taste = data['taste_edit'] = message.text
model = data['model_edit']
# name = сюда надо передать как-то name из вернего хэндлера
await bot.send_message(message.chat.id, f"Название вкуса изменено на: {taste}, для моделиЖ {model}")
await db.edit_model_liq(taste=taste, model=model)
await state.finish()
Код БД:
async def edit_model_liq(model: str, taste: str):
cur.execute("UPDATE items SET taste = ? WHERE model = ?", (taste, model,))
db.commit()