pydantic的类型注解和校验约束

from pydantic import BaseModel, field_validator, EmailStr, Field

class Employee(BaseModel):
    name: str
    age: int = Field(gt=18, description="Must be over 18")
    contact: EmailStr

    @field_validator('name')
    def name_must_contain_space(cls, v):
        if ' ' not in v:
            raise ValueError("name must contain a space")
        return v.title()

emp = Employee(name="bob smith", age=25, contact="bob@company.com")
print(emp.name)

这个代码就是使用pydantic来进行验证的。

BaseModel

这个玩意肯定是很重要的,就是说,场景是什么呢?

场景就是你定义一个对象,那么你就可以使用BaseModel,就是继承这个BaseModel。

那么你就能够进行数据验证了。

第一点:类型注解

类型注解:类型

使用pydantic,你当然是可以对类的属性的类型进行说明的,可以使用|符号的。

比如:int | None

类型注解:默认值

你当然还是可以对属性的取值来设置默认值的,可以使用=符号。

比如:int | None = None

第二点:校验约束

age: int = Field(gt=18, description="Must be over 18")
@field_validator('name')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值