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)
|
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):
|
def partition(predicate, values):
|
||||||
"""
|
"""
|
||||||
Splits the values into two sets, based on the return value of the function
|
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 unused ``BaseCommand.can_import_settings`` attribute is removed.
|
||||||
|
|
||||||
|
* The undocumented ``django.utils.functional.lazy_property`` is removed.
|
||||||
|
|
||||||
.. _deprecated-features-1.11:
|
.. _deprecated-features-1.11:
|
||||||
|
|
||||||
Features deprecated in 1.11
|
Features deprecated in 1.11
|
||||||
|
|
|
@ -4,7 +4,7 @@ from __future__ import unicode_literals
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from django.utils import six
|
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):
|
class FunctionalTestCase(unittest.TestCase):
|
||||||
|
@ -38,25 +38,6 @@ class FunctionalTestCase(unittest.TestCase):
|
||||||
t = lazy(lambda: Klazz(), Base)()
|
t = lazy(lambda: Klazz(), Base)()
|
||||||
self.assertEqual(t.method(), 'Klazz')
|
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):
|
def test_lazy_object_to_string(self):
|
||||||
|
|
||||||
class Klazz(object):
|
class Klazz(object):
|
||||||
|
|
Loading…
Reference in New Issue