首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pydantic断裂输入

Pydantic断裂输入
EN

Stack Overflow用户
提问于 2022-02-06 07:11:32
回答 1查看 158关注 0票数 0

在下面的示例中,我不明白为什么pydantic会破坏类型输入。

代码语言:javascript
复制
from pydantic import BaseModel
from typing import Union, List


class Foo(BaseModel):
    bar: Union[str, dict, List[dict]]

f = Foo(bar=[{'foo': 'bar', 'stuff': 'things'}])
assert f.bar == {'foo': 'stuff'}

为什么类型从一个列表变为一个dict,并进一步将键损坏成一个键值对?不知道这是发热的具体问题还是只是打字问题。

作为后续,我能做些什么来解决这个问题,这样类型就不会被破坏了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-09 22:37:07

答案来自要求回购

基本上,如果您包含一个智能联盟配置值,那么在最新版本的pydantic中这是固定的。

代码语言:javascript
复制
from pydantic import BaseModel
from typing import Union, List


class Foo(BaseModel, smart_union=True):
    bar: Union[str, dict, List[dict]]

f = Foo(bar=[{'foo': 'bar', 'stuff': 'things'}])
assert f.bar == [{'foo': 'bar', 'stuff': 'things'}]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71004955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档