There's no need for such a decorator - a class-level cached property can already be achieved with @classproperty and @lru_cache:
In [1]: from functools import lru_cache
In [2]: from django.utils.functional import classproperty
In [3]: class Thing:
...: @classproperty
...: @lru_cache(maxsize=1)
...: def coefficient(cls):
...: return 3.14
...:
In [4]: Thing.coefficient
Out[4]: 3.14
That said if I saw this in code I'd normally move it out into a standalone @lru_cache function - I don't see the need for it to be in a class, ad the caching behaviour often hides a potentially-expensive first operatio.