aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debug_toolbar/forms.py3
-rw-r--r--debug_toolbar/utils/functional.py14
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