diff options
| -rw-r--r-- | debug_toolbar/forms.py | 3 | ||||
| -rw-r--r-- | debug_toolbar/utils/functional.py | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/debug_toolbar/forms.py b/debug_toolbar/forms.py index 5955bfc..9793f5e 100644 --- a/debug_toolbar/forms.py +++ b/debug_toolbar/forms.py @@ -1,7 +1,8 @@ from django import forms from django.conf import settings from django.core.exceptions import ValidationError -from django.utils.functional import cached_property + +from debug_toolbar.utils.functional import cached_property from debug_toolbar.utils.sql import reformat_sql try: diff --git a/debug_toolbar/utils/functional.py b/debug_toolbar/utils/functional.py new file mode 100644 index 0000000..1dbb734 --- /dev/null +++ b/debug_toolbar/utils/functional.py @@ -0,0 +1,14 @@ +try: + from django.utils.functional import cached_property +except ImportError: # Django < 1.4 + class cached_property(object): + """ + Decorator that creates converts a method with a single + self argument into a property cached on the instance. + """ + def __init__(self, func): + self.func = func + + def __get__(self, instance, type): + res = instance.__dict__[self.func.__name__] = self.func(instance) + return res |
