[2.2.x] Refs #30278 -- Doc'd behavior of del on an unaccessed cached_property.

Thanks to Curtis Maloney for the description of the problem.
Backport of c3c2ec54f5 from master
This commit is contained in:
Matthew Schinckel 2019-03-30 23:59:03 +10:30 committed by Tim Graham
parent 4a7bbace6b
commit f14170406c
1 changed files with 4 additions and 0 deletions

View File

@ -485,6 +485,10 @@ https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004
# set a value manually, that will persist on the instance until cleared
person.friends = ["Huckleberry Finn", "Tom Sawyer"]
Because of the way the `descriptor protocol
<descriptor-invocation>`_ works, using ``del`` (or ``delattr``) on a
``cached_property`` that hasn't been accessed raises ``AttributeError``.
As well as offering potential performance advantages, ``@cached_property``
can ensure that an attribute's value does not change unexpectedly over the
life of an instance. This could occur with a method whose computation is