Optimize collection_viva by annotating and prefetching related objects to prevent N+1 queries
This commit is contained in:
@@ -3127,6 +3127,17 @@ def collection_viva(request, pk):
|
||||
)
|
||||
)
|
||||
|
||||
# Also annotate and prefetch additional related objects used by the viva
|
||||
# template to avoid N+1 queries when rendering many cases.
|
||||
casedetails = (
|
||||
casedetails
|
||||
.annotate(series_count=Count("case__seriesdetail"))
|
||||
.prefetch_related(
|
||||
"case__caseresource_set",
|
||||
"case__display_sets",
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
return render(
|
||||
request,
|
||||
|
||||
Reference in New Issue
Block a user