summaryrefslogtreecommitdiff
path: root/django/core/cache/backends/base.py
diff options
context:
space:
mode:
authorDmitry S..ky / skype: dvska-at-skype <d.v.selitsky@gmail.com>2016-06-22 21:28:43 +0300
committerTim Graham <timograham@gmail.com>2016-07-11 20:49:27 -0400
commit82be474efa81e5f2e127d711045a2ec06b206a8e (patch)
treec83850fca917f04dc62fabcc4ef8c1b4d0172d29 /django/core/cache/backends/base.py
parentee2f0f311a1e84754f30d2586c0bd96f4fd9e8b6 (diff)
Fixed #26792 -- Allowed None for the value of cache.get_or_set().
Diffstat (limited to 'django/core/cache/backends/base.py')
-rw-r--r--django/core/cache/backends/base.py6
1 files changed, 2 insertions, 4 deletions
diff --git a/django/core/cache/backends/base.py b/django/core/cache/backends/base.py
index a07a34e3b5..9cbfe0be1d 100644
--- a/django/core/cache/backends/base.py
+++ b/django/core/cache/backends/base.py
@@ -147,7 +147,7 @@ class BaseCache(object):
d[k] = val
return d
- def get_or_set(self, key, default=None, timeout=DEFAULT_TIMEOUT, version=None):
+ def get_or_set(self, key, default, timeout=DEFAULT_TIMEOUT, version=None):
"""
Fetch a given key from the cache. If the key does not exist,
the key is added and set to the default value. The default value can
@@ -156,10 +156,8 @@ class BaseCache(object):
Return the value of the key stored or retrieved.
"""
- if default is None:
- raise ValueError('You need to specify a value.')
val = self.get(key, version=version)
- if val is None:
+ if val is None and default is not None:
if callable(default):
default = default()
self.add(key, default, timeout=timeout, version=version)