mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 12:11:13 -05:00
- Implemented a comprehensive migration from a single Company model to specialized entities (Operators, PropertyOwners, Manufacturers, Designers). - Resolved critical issues in search suggestions that were returning 404 errors by fixing database queries and reordering URL patterns. - Conducted extensive testing and validation of the new entity relationships, ensuring all core functionality is operational. - Updated test suite to reflect changes in entity structure, including renaming fields from `owner` to `operator`. - Addressed display issues in the user interface related to operator and manufacturer information. - Completed migration cleanup, fixing references to the removed `companies` app across migration files and test configurations. - Established a stable testing environment with successful test database creation and functional test infrastructure.
22 lines
751 B
Python
22 lines
751 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"""
|
|
from django.contrib.contenttypes.models import ContentType
|
|
|
|
park_type = ContentType.objects.get_for_model(Park)
|
|
return (
|
|
Park.objects.select_related('operator', 'property_owner')
|
|
.prefetch_related(
|
|
'photos',
|
|
'rides',
|
|
'location',
|
|
'location__content_type'
|
|
)
|
|
.annotate(
|
|
current_ride_count=Count('rides', distinct=True),
|
|
current_coaster_count=Count('rides', filter=Q(rides__category="RC"), distinct=True)
|
|
)
|
|
.order_by('name')
|
|
) |