mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 16:11:08 -05:00
18 lines
580 B
Python
18 lines
580 B
Python
from django.db.models import QuerySet, Count, Q
|
|
from .models import Park
|
|
|
|
|
|
def get_base_park_queryset() -> QuerySet[Park]:
|
|
"""Get base queryset with all needed annotations and prefetches"""
|
|
return (
|
|
Park.objects.select_related("operator", "property_owner", "location")
|
|
.prefetch_related("photos", "rides")
|
|
.annotate(
|
|
current_ride_count=Count("rides", distinct=True),
|
|
current_coaster_count=Count(
|
|
"rides", filter=Q(rides__category="RC"), distinct=True
|
|
),
|
|
)
|
|
.order_by("name")
|
|
)
|