从pydantic 文档中我明白了这一点:
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'])
Run Code Online (Sandbox Code Playgroud)
但是,当我想动态创建类似的对象时(遵循动态模型创建部分):
# this results in a TypeError
pydantic.create_model("Student_User2", __base__=(User, Student))
Run Code Online (Sandbox Code Playgroud)
我得到:
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Run Code Online (Sandbox Code Playgroud)
问题:如何动态创建一个类Student_User