我目前正在使用Pydantic实现对讲机数据模型上的操作。
许多对讲机模型实现的对象列表如下:
"contacts":{
"type": "contact.list"
"contacts": [
Contact1,
Contact2,
…
]
}
对于其他一些对象列表,我们也有相同的逻辑。
如何定义一个动态的泛型Pydantic基类来管理它?
我首先想到:
class BaseList(BaseModel):
type: str
???
@validator('type')
def check_type(cls, v):
assert v.endswith(".list")
return v
然后在我的父模型中使用如下:
class ParentModel(BaseModel):
contacts: BaseList[Contact]
但是我不知道如何管理动态字段名和它的嵌套关联键。
谢谢你的帮助!
对
import typing
class Contact(object): pass
class BaseModel(object): pass
class ContactList(BaseModel):
type: str
contacts: typing.List[Contact]
不确定它是否是你正在寻找的?typing.List[SomeType]