Implement query optimization

This commit is contained in:
2026-01-17 22:59:23 +01:00
parent cfc7531b59
commit 792b60cdc6
9 changed files with 568 additions and 34 deletions

View File

@@ -158,6 +158,19 @@ class RollingStockAdmin(SortableAdminBase, admin.ModelAdmin):
)
save_as = True
def get_queryset(self, request):
"""Optimize queryset with select_related and prefetch_related."""
qs = super().get_queryset(request)
return qs.select_related(
'rolling_class',
'rolling_class__company',
'rolling_class__type',
'manufacturer',
'scale',
'decoder',
'shop',
).prefetch_related('tags', 'image')
@admin.display(description="Country")
def country_flag(self, obj):
return format_html(