better ordering on list view

This commit is contained in:
Tobias Brunner 2025-02-26 10:39:23 +01:00
parent efc5fefeb4
commit 67824483cb
No known key found for this signature in database
4 changed files with 21 additions and 12 deletions

View file

@ -6,6 +6,7 @@ from hub.services.models import ServiceOffering, CloudProvider, Category, Servic
def offering_list(request): def offering_list(request):
offerings = ( offerings = (
ServiceOffering.objects.all() ServiceOffering.objects.all()
.order_by("service")
.select_related("service", "cloud_provider") .select_related("service", "cloud_provider")
.prefetch_related( .prefetch_related(
"service__categories", "service__categories",

View file

@ -4,8 +4,10 @@ from hub.services.models import ConsultingPartner, CloudProvider, Service
def partner_list(request): def partner_list(request):
partners = ConsultingPartner.objects.all().prefetch_related( partners = (
"services", "cloud_providers" ConsultingPartner.objects.all()
.order_by("name")
.prefetch_related("services", "cloud_providers")
) )
services = Service.objects.all().order_by("name") services = Service.objects.all().order_by("name")

View file

@ -7,8 +7,10 @@ from hub.services.models import (
def provider_list(request): def provider_list(request):
providers = CloudProvider.objects.all().prefetch_related( providers = (
"offerings", "consulting_partners" CloudProvider.objects.all()
.order_by("name")
.prefetch_related("offerings", "consulting_partners")
) )
# Handle search # Handle search

View file

@ -9,14 +9,18 @@ from hub.services.models import (
def service_list(request): def service_list(request):
services = Service.objects.all().prefetch_related( services = (
"categories", Service.objects.all()
"offerings", .order_by("name")
"offerings__cloud_provider", .prefetch_related(
"offerings__plans", "categories",
"offerings__plans__prices", "offerings",
"consulting_partners", "offerings__cloud_provider",
"external_links", "offerings__plans",
"offerings__plans__prices",
"consulting_partners",
"external_links",
)
) )
cloud_providers = CloudProvider.objects.all() cloud_providers = CloudProvider.objects.all()
categories = Category.objects.filter(parent=None).prefetch_related("children") categories = Category.objects.filter(parent=None).prefetch_related("children")