首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果BaseModel获得意外参数,如何让pydantic引发ValidationError

在pydantic中,如果BaseModel获得意外参数,可以通过设置extra参数来控制是否引发ValidationError

extra参数是BaseModel的一个布尔类型参数,默认为"allow",表示允许接受额外的参数。如果设置为"forbid",则会引发ValidationError,提示存在未定义的参数。

以下是一个示例代码:

代码语言:txt
复制
from pydantic import BaseModel

class MyModel(BaseModel):
    name: str

    class Config:
        extra = "forbid"

data = {
    "name": "John",
    "age": 25
}

try:
    model = MyModel(**data)
    print(model)
except ValidationError as e:
    print(e)

在上述代码中,MyModel定义了一个name字段,但没有定义age字段。当传入包含未定义的age字段的数据时,ValidationError将被引发,提示存在未定义的参数。

关于pydantic的更多信息和使用方法,可以参考腾讯云的相关产品文档:pydantic产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

pydantic学习与使用-1.pydantic简介与基础入门

pydantic在运行时强制执行类型提示,并在数据无效时提供用户友好的错误。 定义数据应该如何在纯粹的、规范的 python 中;并使用 pydantic 对其进行验证。...如果您不确定这意味着什么或它可能如何影响您的使用,您应该阅读下面有关数据转换的部分。 虽然验证不是 pydantic 的主要目的,但您可以使用此库进行自定义验证。...friends等属性.在pydantic中定义对象的主要方法是通过模型(模型继承自 BaseModel 的类)。...如果可能,字符串、字节或浮点数将强制转换为int,否则将引发异常。 name 从默认值推断为其为 str 类型,该字段不是必须的,因为它有默认值。...前面实例化的时候,是按预期的参数传值的,如果id不是int 类型,实例化失败的时候,看看会发生什么?

3.4K30
  • pydantic学习与使用-4.validator 验证器的使用(pre 和 each_itemm 验证器)

    验证器 1.校验name字段包含空格 2.校验username 必须是字母和数字组成 3.校验密码1和密码2相等 from pydantic import BaseModel, ValidationError...**kwargs: 如果提供,这将包括上述未在签名中明确列出的参数 验证器应该返回解析后的值或引发 a ValueError, TypeError, or AssertionError (assert可以使用语句...from pydantic import BaseModel, ValidationError, validator from typing import List class DemoModel(...each_item=True 将导致验证器应用于单个值(例如 of List、Dict、Set等),而不是整个对象 from pydantic import BaseModel, ValidationError...from typing import List from pydantic import BaseModel, ValidationError, validator class ParentModel

    1.8K30

    Python - pydantic 入门介绍与 Models 的简单使用

    介绍 使用 python 类型注释来进行数据校验和 settings 管理 pydantic 可以在代码运行时强制执行类型提示,并在数据校验无效时提供友好的错误提示 定义数据应该如何在规范的 python...简单来说:pydantic 保证输出模型的类型和约束,而不是输入数据 Models 简介 在 pydantic 中定义对象的主要方法是通过模型(模型是从 BaseModel 继承的类) 所有基于 pydantic...的数据类型本质上都是一个 BaseModel 类 可以将模型视为强类型语言中的类型(比如 Java) 不受信任的数据可以传递给模型,经过解析和验证后,pydantic 保证生成的模型实例的字段将符合定义的字段类型...(实例字段类型符合类定义的字段类型) 基础模型使用 from pydantic import BaseModel class User(BaseModel): id: int name...ValidationError,证明生成的模型实例是有效的 访问模型实例对象的属性 user = User(id='123') print(user.id, type(user.id)) print(

    2.5K30
    领券