Skip to content

配置模型和ConfigDict

字数
629 字
阅读时间
3 分钟

简介

Pydantic 模型的配置。

完整内容请访问 https://docs.pydantic.dev/latest/api/config/#pydantic.config.ConfigDict

ConfigDict

Bases: TypedDict

用于配置 Pydantic 行为的 TypedDict

title

生成的 JSON 模式的标题,默认为模型的名称

str_to_lower

是否将 str 类型的所有字符转换为小写。 默认为 False

str_to_upper

是否将 str 类型的所有字符转换为大写。 默认为 False

str_strip_whitespace

是否去除 str 类型的前导和尾随空格。

str_min_length

str 类型的最小长度。 默认为None

str_max_length

str 类型的最大长度。 默认为None

extra

在模型初始化期间是否忽略、允许或禁止额外属性。 默认为ignore

您可以配置 pydantic 如何处理模型中未定义的属性:

  • allow - 允许任何额外的属性。
  • forbid - 禁止任何额外的属性。
  • ignore - 忽略任何额外的属性。

frozen

模型是否是假不可变的,即是否允许 __setattr__ 并为模型生成一个 __hash__() 方法。如果模型的所有属性都是散列的,那么模型实例就可能是散列的。默认为假。

populate_by_name

是否可以用模型属性给出的名称和别名来填充别名字段。默认为 False

validate_assignment

更改模型时是否验证数据。默认为 False

Pydantic 的默认行为是在创建模型时验证数据。

如果用户在创建模型后更改了数据,则不会重新验证模型。

如果想在数据更改时重新验证模型,可以使用 validate_assignment=True

arbitrary_types_allowed

字段类型是否允许任意类型。默认为False

strict

(V2新增)如果为 True,将对模型上的所有字段进行严格验证。

默认情况下,Pydantic 会尽可能将值强制转换为正确的类型。

在某些情况下,您可能希望禁用这种行为,而不是在值的类型与字段的类型注释不匹配时引发错误。

要为模型上的所有字段配置严格模式,可以在模型上设置 strict=True

python
from pydantic import BaseModel, ConfigDict

class Model(BaseModel):
    model_config = ConfigDict(strict=True)

    name: str
    age: int

详情请参阅 严格模式

有关 Pydantic 如何在严格模式和宽松模式下转换数据的更多详情,请参阅转换表

贡献者

页面历史

撰写

布局切换

调整 VitePress 的布局样式,以适配不同的阅读习惯和屏幕环境。

全部展开
使侧边栏和内容区域占据整个屏幕的全部宽度。
全部展开,但侧边栏宽度可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
全部展开,且侧边栏和内容区域宽度均可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
原始宽度
原始的 VitePress 默认布局宽度

页面最大宽度

调整 VitePress 布局中页面的宽度,以适配不同的阅读习惯和屏幕环境。

调整页面最大宽度
一个可调整的滑块,用于选择和自定义页面最大宽度。

内容最大宽度

调整 VitePress 布局中内容区域的宽度,以适配不同的阅读习惯和屏幕环境。

调整内容最大宽度
一个可调整的滑块,用于选择和自定义内容最大宽度。

聚光灯

支持在正文中高亮当前鼠标悬停的行和元素,以优化阅读和专注困难的用户的阅读体验。

ON开启
开启聚光灯。
OFF关闭
关闭聚光灯。

聚光灯样式

调整聚光灯的样式。

置于底部
在当前鼠标悬停的元素下方添加一个纯色背景以突出显示当前鼠标悬停的位置。
置于侧边
在当前鼠标悬停的元素旁边添加一条固定的纯色线以突出显示当前鼠标悬停的位置。