Sqlalchemy:从sqlalchemy.schema.MetaData中获取python类

2 投票
1 回答
845 浏览
提问于 2025-04-16 21:34

我正在尝试预先填充与对象相关的列表。对于一个特定的映射类,我列出了所有的表,方法是:

例如,ExampleClass是我的映射Python类。

name = ExampleClass.__name__
tables = [x for x in ExampleClass.metadata.tables.keys() if x != name ]

所以,我得到了表的名称,但我该如何获取与这些表相关的类呢?

这可能吗?

我正在使用声明式的方法来映射表和类。

提前谢谢你。

1 个回答

1

我发现可以通过在列表中找到的表名参数来传递表名。

def __find_class(self, table):
        for x in mapperlib._mapper_registry.items():
            if x[0].mapped_table.name == table:
                return x[0].class_

撰写回答