Skip to main content

简介

  • 本文将引导你完成使用 pydantic 进行数据验证的过程。Pydantic 是一个用 Rust 构建的 Python 库。
  • 在开始之前,请确保你的环境中已安装 Python 和 Pydantic 库。请查看下面的 pydantic 安装命令。

创建模型

  • 首先,我们需要导入并让我们的类继承自 pydantic.BaseModel 以开始验证。在我们的示例中,我们将创建一个名为 Person 的类,它将包含姓名、年龄和一个电子邮件。
  • 有了这个类,当我们实例化它时,pydantic 将验证参数 nameemail 是否为字符串,以及 age 是否为整数。

使用模型

  • 现在我们已经创建了它,接下来我们将实例化该类。我们将创建一个包含数据的字典,并将其解包传入我们的类。
  • 上面的示例不会引发任何错误,因为所有参数的类型都正确。现在我们将构造一份错误的数据,以确认我们的验证是否 生效。
  • 在上面的示例中,它将引发 ValidationError 错误,因为 age 需要是整数,不能以字符串形式提供。

创建 dataclass

  • 你也可以使用 pydantic 创建 dataclass,它与标准的 Python dataclass 类似,但会像 BaseModel 一样进行验证。
  • 如果我们向 age 发送一个 string,它将被转换为 int
Pydantic 支持递归验证,这意味着在验证嵌套模型时,它也会验证内部的 模型。如果某个类包含一个 Person 的列表 people: list[Person],它将检查列表中的每一项并将其转换为 Person

附加内容

  • Pydantic 有一些附加功能,例如电子邮件验证和一个后备的时区包。要安装它们,你需要运行以下命令:
  • 你可以通过运行以下命令将两者一起安装。
  • Pydantic[email] 提供了一个用于处理电子邮件的类,对其进行规范化并验证 user@domain.tld 格式。为此,pydantic 提供了 EmailStr 类来完成此验证。

你喜欢这篇文章吗?

  • 我们精心创作了这些内容,只为提供尽可能好的帮助。 如果这篇文章对你有任何帮助,请支持我们的工作!已经有开发者在 Google 和 Trustpilot 上给 Square Cloud 打出了 4.9/5 分(共 402 条评价) —— 也留下你的评价吧!这能帮助我们了解什么对你最重要。

Google Reviews

在 Google Reviews 上留下你的评价。

Trustpilot

在 Trustpilot 上留下你的评价。