fastapi二:数据模型与验证-pydantic
作者:互联网
pydantic官网:https://pydantic-docs.helpmanual.io/
Pydantic 是一个用来用来执行数据校验的 Python 库。
可以将数据的"结构"声明为具有属性的类,然后每个属性都拥有类型。
接着用一些值来创建这个类的实例,这些值会被校验,并被转换为适当的类型(在需要的情况下),返回一个包含所有数据的对象。
一:安装和源码
1.1、安装:pip install pydantic
1.2、用 pydantic 做数据模型,所有的数据模型都是继承BaseModel的,先看一下BaseModel类下面都有什么
由此可见,只要继承了BaseModel的类,就会有转字典、转json、浅拷贝、自定义字段校验···
二:使用pydantic
2.1、声明模型
2.2、实例化模型
2.2.1、python解包的形式实例化
2.2.2、用 BaseModel 自带的 parse_obj 方法解析字典
2.2.3、用 BaseModel 自带的 parse_row 方法解析josn字符串
2.2.4、用 BaseModel 自带的 parse_file 方法解析文件
2.2.5、construct:只实例化模型,不做校验
三、异常处理
如果输入数据不满足数据模型规则则会报错
由上可见,当数据不满足模型时,会抛出一个 ValidationError ,那么我们可以捕获这个异常(此异常可以转为son),并且抛出自定义的异常
四、递归模型(在其他模型的某一个字段中,嵌套某一个模型)
五、pydantic 模型与 SQLAlchemy 模型结合,验证orm对象
六、PyCharm 安装 pydantic 代码检查插件
标签:fastapi,模型,校验,数据模型,BaseModel,2.2,pydantic 来源: https://www.cnblogs.com/zhongyehai/p/15058100.html