From 5f2308710b5a3d9f5f135b7ade08214f5c154ec4 Mon Sep 17 00:00:00 2001 From: Akash Kumar Sen Date: Fri, 26 May 2023 21:28:59 +0530 Subject: [PATCH] Fixed #30355 -- Doc'd interaction between custom managers and prefetch_related(). --- docs/topics/db/queries.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt index b33530bc88..6dfe97f317 100644 --- a/docs/topics/db/queries.txt +++ b/docs/topics/db/queries.txt @@ -1790,6 +1790,18 @@ methods:: b.entry_set(manager="entries").is_published() +.. admonition:: Interaction with prefetching + + When calling :meth:`~django.db.models.query.QuerySet.prefetch_related` with + a reverse relation, the default manager will be used. If you want to + prefetch related objects using a custom reverse manager, use + :class:`Prefetch() `. For example:: + + from django.db.models import Prefetch + + prefetch_manager = Prefetch("entry_set", queryset=Entry.entries.all()) + Blog.objects.prefetch_related(prefetch_manager) + Additional methods to handle related objects ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~