【发布时间】:2021-10-09 13:27:43
【问题描述】:
我有一个简单类的(动态)定义,如下所示:
class Simple:
val: int = 1
我打算用这个定义来构建一个pydantic.BaseModel,所以可以从Simple类中定义;基本上是这样做的,但是通过type,在一个元类结构下,Simple 类是从中检索的。
from pydantic import BaseModel
class SimpleModel(Simple, BaseModel):
pass
# Actual ways tried:
SimpleModel = type('SimpleModel', (Simple, BaseModel), {})
# or
SimpleModel = type('SimpleModel', (BaseModel, ), Simple.__annotations__)
但是,这种方法不会返回带有 Simple 类参数的模型类。
我知道BaseModel 已经在后台使用了一个相当复杂的元类,但是,我的预期实现也在一个元类下,我打算动态将Simple 类转移到来自 pydantic 的 BaseModel。
您的建议将不胜感激。
【问题讨论】:
标签: python class inheritance metaclass pydantic