【发布时间】:2020-10-23 06:58:59
【问题描述】:
从pydantic docs我明白这一点:
import pydantic
class User(pydantic.BaseModel):
id: int
name: str
class Student(pydantic.BaseModel):
semester: int
# this works as expected
class Student_User(User, Student):
building: str
print(Student_User.__fields__.keys())
#> dict_keys(['semester', 'id', 'name', 'building'])
但是,当我想动态创建一个类似的对象时(遵循dynamic-model-creation 部分):
# this results in a TypeError
pydantic.create_model("Student_User2", __base__=(User, Student))
我明白了:
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
问题:如何动态创建像Student_User这样的类
【问题讨论】:
标签: python multiple-inheritance pydantic