我有一个pydantic模型,它的属性之一是另一个模型的实例
对于我的应用程序,我需要以自定义方式写出该模型。我想我可以通过在模型配置中设置json\u编码器来做到这一点,但我无法让它工作。我可以让它用于基本类型,例如datetime,但不能用于我自己的类
请参阅下面的示例:
from pydantic import BaseModel
def write_list_item(item):
return [item.a, item.b]
class ListItem(BaseModel):
a: str
b: str
class ToyList(BaseModel):
list_item: ListItem
class Config:
json_encoders = {ListItem: write_list_item}
tl = ToyList(list_item=ListItem(a="a1", b="b2"))
print(tl.json())
预期产出:
["a1, "b1"]
观测输出:
{"a": "a1", "b": "b1"}
谁能看出我做错了什么
目前这还不可能。当this PR被合并时,这是可能的
因此,可以通过自定义根类型考虑模型或解决方案的不同设计,例如(不准备就绪):
相关问题 更多 >
编程相关推荐