gpt4 book ai didi

python - 如何遍历从特定基类派生的每个类声明?

转载 作者:太空狗 更新时间:2023-10-30 01:49:25 25 4
gpt4 key购买 nike

当我调用 setup_all() 时,我想知道 elixir\sqlalchemy 如何知道我在模型中声明的所有实体类?我在我的一个小项目中需要那种功能,但我不知道。我尝试通过 elixir 的 setup_all() 进行步进跟踪,我发现它在“全局”列表(或者是字典?)中保留了所有实体类的集合,但我做不到捕获列表填满的时刻。有什么想法吗?

最佳答案

对于类定义,这更容易(无需导入)

def find_subclasses(cls):
results = []
for sc in cls.__subclasses__():
results.append(sc)
return results

我不确定您是想要这个还是对象。如果你想要对象:

import gc

def find_subclasses(cls):
results = []
for sc in cls.__subclasses__():
for obj in gc.get_objects():
if isinstance(obj, sc):
results.append(obj)
return results

关于python - 如何遍历从特定基类派生的每个类声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8956928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com