@@ -121,16 +121,18 @@ async def list_payment_plans(request): ).prefetch_related('features__model', 'features__model__category') result = [] + GROUPED_FEATURES_ORDER = ['Чат-боты', 'Изображения', 'Видео', 'Аудио'] async for plan in plans: - grouped = defaultdict(list) + raw_grouped = defaultdict(list) for feature in plan.features.all(): - grouped[feature.model.category.title].append( + raw_grouped[feature.model.category.title].append( { 'name': feature.model.title, 'quantity': feature.quantity, 'measurement_unit': feature.measurement_unit, } ) + grouped = dict(sorted(raw_grouped.items(), key=lambda items: GROUPED_FEATURES_ORDER.index(items[0]))) result.append( PaymentPlanSchema( uid=plan.uid,