mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #23688 -- Updated cached_property to preserve docstring of original function
This commit is contained in:
		
				
					committed by
					
						 Tim Graham
						Tim Graham
					
				
			
			
				
	
			
			
			
						parent
						
							54e695331b
						
					
				
				
					commit
					dbf7a3df45
				
			| @@ -51,6 +51,7 @@ class cached_property(object): | ||||
|     """ | ||||
|     def __init__(self, func, name=None): | ||||
|         self.func = func | ||||
|         self.__doc__ = getattr(func, '__doc__') | ||||
|         self.name = name or func.__name__ | ||||
|  | ||||
|     def __get__(self, instance, type=None): | ||||
|   | ||||
| @@ -50,6 +50,7 @@ class FunctionalTestCase(unittest.TestCase): | ||||
|  | ||||
|             @cached_property | ||||
|             def value(self): | ||||
|                 """Here is the docstring...""" | ||||
|                 return 1, object() | ||||
|  | ||||
|             def other_value(self): | ||||
| @@ -57,6 +58,9 @@ class FunctionalTestCase(unittest.TestCase): | ||||
|  | ||||
|             other = cached_property(other_value, name='other') | ||||
|  | ||||
|         # docstring should be preserved | ||||
|         self.assertEqual(A.value.__doc__, "Here is the docstring...") | ||||
|  | ||||
|         a = A() | ||||
|  | ||||
|         # check that it is cached | ||||
|   | ||||
		Reference in New Issue
	
	Block a user