diff --git a/django/utils/functional.py b/django/utils/functional.py index 146a2e8dc2..1481bf4a5e 100644 --- a/django/utils/functional.py +++ b/django/utils/functional.py @@ -304,6 +304,8 @@ class LazyObject: # care about this (especially in equality tests) __class__ = property(new_method_proxy(operator.attrgetter("__class__"))) __eq__ = new_method_proxy(operator.eq) + __lt__ = new_method_proxy(operator.lt) + __gt__ = new_method_proxy(operator.gt) __ne__ = new_method_proxy(operator.ne) __hash__ = new_method_proxy(hash) diff --git a/tests/utils_tests/test_lazyobject.py b/tests/utils_tests/test_lazyobject.py index 2bba558843..e5bccc6362 100644 --- a/tests/utils_tests/test_lazyobject.py +++ b/tests/utils_tests/test_lazyobject.py @@ -66,6 +66,16 @@ class LazyObjectTestCase(TestCase): self.assertNotEqual(obj1, obj2) self.assertNotEqual(obj1, 'bar') + def test_lt(self): + obj1 = self.lazy_wrap(1) + obj2 = self.lazy_wrap(2) + self.assertLess(obj1, obj2) + + def test_gt(self): + obj1 = self.lazy_wrap(1) + obj2 = self.lazy_wrap(2) + self.assertGreater(obj2, obj1) + def test_bytes(self): obj = self.lazy_wrap(b'foo') self.assertEqual(bytes(obj), b'foo')