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')