diff options
| author | Yoong Kang Lim <yoongkang.lim@gmail.com> | 2016-06-05 22:15:00 +1000 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-08-05 13:32:27 -0400 |
| commit | d30febb4e59b659e0d279c77f61f936c199a05b2 (patch) | |
| tree | c490770944097532ee322a8d21437b40a49eee0a /docs | |
| parent | ea65c7cb4819cf18ac66215bc7b4df4af3fbe5ad (diff) | |
Fixed #26706 -- Made RelatedManager modification methods clear prefetch_related() cache.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/ref/models/querysets.txt | 12 | ||||
| -rw-r--r-- | docs/ref/models/relations.txt | 8 | ||||
| -rw-r--r-- | docs/releases/1.11.txt | 7 |
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 |
