FastAPI - Pydantic相关应用

本文详细介绍了Pydantic库如何用于数据验证、模型定义、实例创建、数据转换以及自定义验证逻辑,包括字段类型、默认值、模式和别名等特性。
摘要由CSDN通过智能技术生成

在这里插入图片描述


参考链接:Pydantic官方文档



Pydantic 是一个 Python 库,主要用于数据验证和管理。数据验证是指检查数据是否符合预定的规则和格式,比如检查数据类型是否正确,是否缺少必要的字段等。数据管理是指定义数据的结构和行为,比如设置默认值,转换数据类型等。


以下是 Pydantic 的一些基本操作语法:

定义数据模型

首先,通过继承 Pydantic 提供的 BaseModel 类定义一个数据模型:

from pydantic import BaseModel

class User(BaseModel):
    id: int
    name: str
    email: str
    is_active: bool = True

在这个例子中,定义了 User 数据模型,有四个字段:id(整数类型)、name(字符串类型)、email(字符串类型)和 is_active(布尔类型,默认值为 True)。

创建模型实例

创建数据模型的实例非常简单,只需要按照定义的字段传递相应的值即可:

user = User(id=1, name="John Doe", email="john.doe@example.com")

如果某个字段有默认值,你可以选择不提供它:

user = User(id=1, name="John Doe", email="john.doe@example.com")  # is_active 将默认为 True

数据验证

当创建模型实例时,Pydantic 会自动进行数据验证。如果数据不符合定义的类型,会进行报错:

try:
    user = User(id="not_an_integer", name="John Doe", email="john.doe@example.com")
except ValidationError as e:
    print(str(e))  # 输出错误信息

数据转换

Pydantic 可以自动进行数据类型转换。例如,如果传递一个字符串类型的 id,Pydantic 会自动将其转换为整数类型:

user = User(id="1", name="John Doe", email="john.doe@example.com")
print(user.id)  # 输出: 1

模型转换

Pydantic 可以将模型转换为字典或 JSON 格式:

user_dict = user.dict()
print(user_dict)  # 输出: {'id': 1, 'name': 'John Doe', 'email': 'john.doe@exam
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

司南锤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值