python 查看类有哪些子类
发布网友
发布时间:2022-04-24 05:00
我来回答
共1个回答
热心网友
时间:2022-04-07 10:23
递归获取某一父类的所有子类
all_subclasses = {'0': '0'}
def get_all_classes(model):
"""
获取父类的所有子类
"""
for subclass in model.__subclasses__():
# print(subclass._meta.abstract)
if (not (subclass.__name__) in all_subclasses.keys()) and (not subclass._meta.abstract):
all_subclasses[subclass.__name__] = subclass
get_all_classes(subclass)
return all_subclasses
这里主要用到了__subclasses__() 这个方法,这个方法返回的是这个类的子类的集合,用递归的方法,去获取传入类型的所有子类。返回给全局变量 all_subclasses这个字典集合。