ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

fastapi二:数据模型与验证-pydantic

2021-07-25 16:33:54  阅读:509  来源: 互联网

标签:fastapi 模型 校验 数据模型 BaseModel 2.2 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有