From 2a637a45232fa5f046034958a6df91804bbab32c Mon Sep 17 00:00:00 2001 From: Sergey Fedoseev Date: Mon, 9 Jul 2018 21:13:31 +0500 Subject: [PATCH] [2.1.x] Refs #29478 -- Doc'd how to use cached_property with a mangled name. Backport of 09199734d383691ecf6d163894b447ca45e0ef82 from master --- docs/ref/utils.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/ref/utils.txt b/docs/ref/utils.txt index fd9a12f58d..d48ea27009 100644 --- a/docs/ref/utils.txt +++ b/docs/ref/utils.txt @@ -505,6 +505,15 @@ https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004 z = person.friends # does not call x is z # is True + .. warning:: + + ``cached_property`` doesn't work properly with a mangled__ name unless + it's passed a ``name`` of the form ``_Class__attribute``:: + + __friends = cached_property(get_friends, name='_Person__friends') + + __ https://docs.python.org/3/faq/programming.html#i-try-to-use-spam-and-i-get-an-error-about-someclassname-spam + .. function:: keep_lazy(func, *resultclasses) Django offers many utility functions (particularly in ``django.utils``)