FastAPI Pydantic
Pydantic 是一个用于数据解析和验证的Python库。它使用较新版本的Python(3.6版本以上)的类型提示机制,并在运行期间验证类型。Pydantic定义了 BaseModel 类。它充当了创建用户定义模型的基类。
下面的代码定义了一个学生类,作为基于BaseModel的模型。
学生 类的属性是用类型提示声明的。请注意,科目属性是在打字模块中定义的列表类型,并且是内置的列表类型。
我们可以用一个具有匹配结构的字典来填充学生类的一个对象,如下所示
Pydantic 会尽可能地自动得到数据类型的转换。例如,即使字典中的id键被分配了一个数字的字符串表示(比如’123’),它也会把它胁迫成一个整数。但只要不可能,就会引发一个异常。
Pydantic还包含一个Field类,用于声明模型属性的元数据和验证规则。首先修改Student类,以便在 “name “属性上应用Field类型,如下所示
填充数据,如下图所示。这里的名字超过了规定的 最大长度 。Pydantic按照预期抛出了 ValidationError 。
Pydantic模型可以用来与 SQLAlchemy 或 Peewee 等ORM模型进行映射 。