Порядок товаров в категории
Каталог показывает товары, сгруппированные по category_id (по возрастанию), а внутри
категории — от дорогих к дешёвым. Сейчас внутри категории порядок неправильный.
Исправьте catalog_order(products) — она возвращает новый отсортированный список.
Подсказка 1 из 2
reverse=True действует на ключ целиком.
Подсказка 2 из 2
Для числового поля обратный порядок даёт минус: -p["price"].