python pydantic包

369 阅读1分钟

可以使用Field包来描述字段信息,Field中有各种tag,每个tag的功能如下

tag说明
description描述该字段
example给出示例
regex校验字段是否满足该正则表达式
title字段标题
min_length最小长度,值为整形
max_length最大长度,值为整形

示例: 这里的Optional是非必填的意思

username: Optional[str] = Field(description='用户姓名',title='用户名称' ,min_length=1, max_length=255, example='张三', regex='张三|李四')

针对正则表达式,常用的有

1.手机号校验

regex=r'^1\d{10}$'

2.邮箱校验

regex='^\w+([-+.]\w+)*@\w+([-.]\w+)*.\w+([-.]\w+)*$'

3.可选项校验

这里是只能传 Male或者 Female

regex='Male|Female'

4.6位数字校验码

regex=r'^\d{6}$'

判断一个值的范围可以使用pydantic内置数据类型conint(这里年龄最小是1岁,最大149岁)

from pydantic import Field,conint
age: conint(ge=0, le=150) = Field(description='年龄')