mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
Fixed #16937 - added QuerySet.prefetch_related to prefetch many related objects.
Many thanks to akaariai for lots of review and feedback, bug finding, additional unit tests and performance testing. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16930 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -63,6 +63,19 @@ setup for test suites) has seen a performance benefit as a result.
|
||||
See the :meth:`~django.db.models.query.QuerySet.bulk_create` docs for more
|
||||
information.
|
||||
|
||||
``QuerySet.prefetch_related``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Analagous to :meth:`~django.db.models.query.QuerySet.select_related` but for
|
||||
many-to-many relationships,
|
||||
:meth:`~django.db.models.query.QuerySet.prefetch_related` has been added to
|
||||
:class:`~django.db.models.query.QuerySet`. This method returns a new ``QuerySet``
|
||||
that will prefetch in a single batch each of the specified related lookups as
|
||||
soon as it begins to be evaluated (e.g. by iterating over it). This enables you
|
||||
to fix many instances of a very common performance problem, in which your code
|
||||
ends up doing O(n) database queries (or worse) if objects on your primary
|
||||
``QuerySet`` each have many related objects that you also need.
|
||||
|
||||
HTML5
|
||||
~~~~~
|
||||
|
||||
|
||||
Reference in New Issue
Block a user