Django has a decorator called cached_property which can be imported from django.utils.functional. On the other hand, Python 3.8 added cached_property to the standard library which can be imported from functools.
Are both equivalent, i.e., are they interchangeable? or what is the difference between both? Are there any best practices when to use one or the other?