Fixed #27555 -- Removed django.utils.functional.lazy_property.
This commit is contained in:
parent
05d2c5a66d
commit
71609a5b90
|
@ -412,27 +412,6 @@ class SimpleLazyObject(LazyObject):
|
|||
return copy.deepcopy(self._wrapped, memo)
|
||||
|
||||
|
||||
class lazy_property(property):
|
||||
"""
|
||||
A property that works with subclasses by wrapping the decorated
|
||||
functions of the base class.
|
||||
"""
|
||||
def __new__(cls, fget=None, fset=None, fdel=None, doc=None):
|
||||
if fget is not None:
|
||||
@wraps(fget)
|
||||
def fget(instance, instance_type=None, name=fget.__name__):
|
||||
return getattr(instance, name)()
|
||||
if fset is not None:
|
||||
@wraps(fset)
|
||||
def fset(instance, value, name=fset.__name__):
|
||||
return getattr(instance, name)(value)
|
||||
if fdel is not None:
|
||||
@wraps(fdel)
|
||||
def fdel(instance, name=fdel.__name__):
|
||||
return getattr(instance, name)()
|
||||
return property(fget, fset, fdel, doc)
|
||||
|
||||
|
||||
def partition(predicate, values):
|
||||
"""
|
||||
Splits the values into two sets, based on the return value of the function
|
||||
|
|
|
@ -627,6 +627,8 @@ Miscellaneous
|
|||
|
||||
* The unused ``BaseCommand.can_import_settings`` attribute is removed.
|
||||
|
||||
* The undocumented ``django.utils.functional.lazy_property`` is removed.
|
||||
|
||||
.. _deprecated-features-1.11:
|
||||
|
||||
Features deprecated in 1.11
|
||||
|
|
|
@ -4,7 +4,7 @@ from __future__ import unicode_literals
|
|||
import unittest
|
||||
|
||||
from django.utils import six
|
||||
from django.utils.functional import cached_property, lazy, lazy_property
|
||||
from django.utils.functional import cached_property, lazy
|
||||
|
||||
|
||||
class FunctionalTestCase(unittest.TestCase):
|
||||
|
@ -38,25 +38,6 @@ class FunctionalTestCase(unittest.TestCase):
|
|||
t = lazy(lambda: Klazz(), Base)()
|
||||
self.assertEqual(t.method(), 'Klazz')
|
||||
|
||||
def test_lazy_property(self):
|
||||
|
||||
class A(object):
|
||||
|
||||
def _get_do(self):
|
||||
raise NotImplementedError
|
||||
|
||||
def _set_do(self, value):
|
||||
raise NotImplementedError
|
||||
do = lazy_property(_get_do, _set_do)
|
||||
|
||||
class B(A):
|
||||
def _get_do(self):
|
||||
return "DO IT"
|
||||
|
||||
with self.assertRaises(NotImplementedError):
|
||||
A().do
|
||||
self.assertEqual(B().do, 'DO IT')
|
||||
|
||||
def test_lazy_object_to_string(self):
|
||||
|
||||
class Klazz(object):
|
||||
|
|
Loading…
Reference in New Issue