python - 如何使用元类创建类似于 SQLAlchemy 的声明性基本行为?
问题描述
我正在尝试模仿 SQLAlchemy 的声明性基本行为。我想做的是定义一堆从基类继承的模型,然后执行一些类似Base.meta.create_all
初始化一些表、索引等的操作。
我所做的是让我的自定义Base
类使用一个创建一些映射的类的metadata
参数,按照这个例子。BaseMeta
问题是 SQLAlchemy 在 Base 类中有这个 MetaData 类,它包含类似的方法create_all
,drop_all
并且以某种方式读取从Base
. 我玩了一点,它有点工作,但它与这个有所有引用的类Base.__subclasses__()
无关。MetaData
Table
请注意,我不是在问如何使用 SQLAlchemy,我正在尝试创建一个自定义的类似 SQLAlchemy 的克隆东西来学习。
解决方案
推荐阅读
- c++ - 部分定义/别名模板模板参数
- leaflet - 传单的所有可用平铺层列表
- pandas - 将值从 1 列转换为多列
- arrays - 映射减少字符串中的总和项目权重
- python - 没有围绕情节的空白区域的 Seaborn 热图
- postgresql - 有没有办法组织 Postgres 函数(使用 pgAdmin)?
- reactjs - 如何使用 Watir 自动化 Reactjs 下拉自定义元素
- android - 从嵌套导航图中向上导航(后按)时如何定义退出/弹出动画?
- python-3.x - 读取文件时如何跳过N条中心线?
- mongodb - 将 .catch 与 async/await 一起使用