我正在尝试获取映射到
中的表的所有类metadata.sorted_tables
我想替换这些表,但必须更新我的模型__table__
,因为我使用的是声明式。
当我使用声明式时,如何获得给定表的映射模型?
谢谢!
答案 0 :(得分:1)
SQLAlchemy并不真正支持MetaData对象中表的“替换”,也不支持对映射到的表进行临时替换。各个表之间以及映射类之间存在依赖关系,并且这个依赖关系系统只能加法构造 - 不支持替换事物。只有当你完全丢弃MetaData,用一个新的替换它,并调用clear_mappers()来删除所有映射时,是否可以将类重新映射到新表。但是这会抛弃声明性映射,并且也没有有效的用例。
您希望以不同的方式处理您的问题,例如,当您以特定方式将类映射到表时,这是您最后一次为该特定类执行此操作。