我想创建一个函数,给定一个表的名称,返回具有该 表 名的模型。例如:
class Model(Base):
__tablename__ = 'table'
...a bunch of Columns
def getModelFromTableName(tablename):
...something magical
所以 getModelFromTableName(‘table’) 应该返回模型类。
我的目标是在我制作的简单表单生成器中使用该函数,因为 FormAlchemy 不适用于 python3.2,我希望它能够很好地处理外键。
谁能给我任何关于如何让 getModelFromTableName 工作的指示?
这是我的一个想法(这可能是完全错误的,我以前没有使用过元类……)
如果我要让我的模型类继承自 Base 以及其他一些类 (TableReg) 并让 TableReg 存储模型的类元,该怎么办。 某些 全局字典或单例中的表名。
我意识到这可能完全不对,因为 Base 的元类做了一些我不想破坏的非常重要和非常漂亮的东西,但我认为必须有一种方法可以将一些构造函数代码附加到元类我的模型。或者我不明白。
原文由 Sheena 发布,翻译遵循 CC BY-SA 4.0 许可协议
受 Eevee 评论的启发: