summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorYoong Kang Lim <yoongkang.lim@gmail.com>2016-06-05 22:15:00 +1000
committerTim Graham <timograham@gmail.com>2016-08-05 13:32:27 -0400
commitd30febb4e59b659e0d279c77f61f936c199a05b2 (patch)
treec490770944097532ee322a8d21437b40a49eee0a /docs
parentea65c7cb4819cf18ac66215bc7b4df4af3fbe5ad (diff)
Fixed #26706 -- Made RelatedManager modification methods clear prefetch_related() cache.
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/models/querysets.txt12
-rw-r--r--docs/ref/models/relations.txt8
-rw-r--r--docs/releases/1.11.txt7
3 files changed, 27 insertions, 0 deletions
diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt
index 36d791db0e..3f4fce1a26 100644
--- a/docs/ref/models/querysets.txt
+++ b/docs/ref/models/querysets.txt
@@ -979,6 +979,18 @@ database.
performance, since you have done a database query that you haven't used. So
use this feature with caution!
+ Also, if you call the database-altering methods
+ :meth:`~django.db.models.fields.related.RelatedManager.add`,
+ :meth:`~django.db.models.fields.related.RelatedManager.remove`,
+ :meth:`~django.db.models.fields.related.RelatedManager.clear` or
+ :meth:`~django.db.models.fields.related.RelatedManager.set`, on
+ :class:`related managers<django.db.models.fields.related.RelatedManager>`,
+ any prefetched cache for the relation will be cleared.
+
+ .. versionchanged:: 1.11
+
+ The clearing of the prefetched cache described above was added.
+
You can also use the normal join syntax to do related fields of related
fields. Suppose we have an additional model to the example above::
diff --git a/docs/ref/models/relations.txt b/docs/ref/models/relations.txt
index d8100287df..c34d3104b2 100644
--- a/docs/ref/models/relations.txt
+++ b/docs/ref/models/relations.txt
@@ -170,6 +170,14 @@ Related objects reference
``add()``, ``create()``, ``remove()``, and ``set()`` methods are
disabled.
+ If you use :meth:`~django.db.models.query.QuerySet.prefetch_related`,
+ the ``add()``, ``remove()``, ``clear()``, and ``set()`` methods clear
+ the prefetched cache.
+
+ .. versionchanged:: 1.11
+
+ The clearing of the prefetched cache described above was added.
+
Direct Assignment
=================
diff --git a/docs/releases/1.11.txt b/docs/releases/1.11.txt
index 381d49a42a..45bfdcffdf 100644
--- a/docs/releases/1.11.txt
+++ b/docs/releases/1.11.txt
@@ -357,6 +357,13 @@ Miscellaneous
* The ``checked`` attribute rendered by form widgets now uses HTML5 boolean
syntax rather than XHTML's ``checked='checked'``.
+* :meth:`RelatedManager.add()
+ <django.db.models.fields.related.RelatedManager.add>`,
+ :meth:`~django.db.models.fields.related.RelatedManager.remove`,
+ :meth:`~django.db.models.fields.related.RelatedManager.clear`, and
+ :meth:`~django.db.models.fields.related.RelatedManager.set` now
+ clear the ``prefetch_related()`` cache.
+
.. _deprecated-features-1.11:
Features deprecated in 1.11