From 88b5b7b8e56667b0f55ea6f04038b6ac77c57b98 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Sat, 16 Sep 2023 06:57:38 +0200 Subject: [PATCH] Corrected QuerySet.prefetch_related() note about GenericRelation(). GenericRelation is a reverse generic relationship so it's always homogeneous. Mentioning this as a restriction is confusing. --- docs/ref/models/querysets.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index 106a5e8a177..9d90f4b19e4 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -1149,10 +1149,11 @@ one-to-one. ``prefetch_related``, on the other hand, does a separate lookup for each relationship, and does the 'joining' in Python. This allows it to prefetch -many-to-many and many-to-one objects, which cannot be done using -``select_related``, in addition to the foreign key and one-to-one relationships -that are supported by ``select_related``. It also supports prefetching of -:class:`~django.contrib.contenttypes.fields.GenericRelation` and +many-to-many, many-to-one, and +:class:`~django.contrib.contenttypes.fields.GenericRelation` objects which +cannot be done using ``select_related``, in addition to the foreign key and +one-to-one relationships that are supported by ``select_related``. It also +supports prefetching of :class:`~django.contrib.contenttypes.fields.GenericForeignKey`, however, it must be restricted to a homogeneous set of results. For example, prefetching objects referenced by a ``GenericForeignKey`` is only supported if the query