я не понимаю, попробовал разными способами сделать дебаг, присваивал типы, STR и INT, не помогло.так не нужно методом тыка делать, освой дебаг и смотри что именно у тебя в переменных
product_id = str(product.id)
, а потом всё равно используешь product.id, а не product_id self.cart[product.id] = ...