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(
|
return render(
|
||||||
request,
|
request,
|
||||||
|
|||||||
Reference in New Issue
Block a user