mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-11-04 15:15:42 +00:00 
			
		
		
		
	helper to get all inheriting classes
This commit is contained in:
		@@ -736,3 +736,18 @@ def get_objectreference(obj, type_ref: str = 'content_type', object_ref: str = '
 | 
			
		||||
        'model': str(model_cls._meta.verbose_name),
 | 
			
		||||
        **ret
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def inheritors(cls):
 | 
			
		||||
    """
 | 
			
		||||
    Return all classes that are subclasses from the supplied cls
 | 
			
		||||
    """
 | 
			
		||||
    subcls = set()
 | 
			
		||||
    work = [cls]
 | 
			
		||||
    while work:
 | 
			
		||||
        parent = work.pop()
 | 
			
		||||
        for child in parent.__subclasses__():
 | 
			
		||||
            if child not in subcls:
 | 
			
		||||
                subcls.add(child)
 | 
			
		||||
                work.append(child)
 | 
			
		||||
    return subcls
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user