FastAPI 中 Pydantic 数据模型管理与依赖注入
1. Pydantic 数据模型方法定义
在 Pydantic 模型中定义方法非常方便,因为 Pydantic 模型本质上就是普通的 Python 类,你可以根据需要实现任意数量的方法。
以下是一个示例代码:
class PostBase(BaseModel):
title: str
content: str
def excerpt(self) -> str:
return f"{self.content[:140]}..."
在 PostBase 中定义 excerpt 方法后,该方法在所有基于 PostBase 的模型变体中都可用。这种继承方式虽然不是严格必需的,但能极大地帮助避免代码重复,最终减少错误。
2. 使用 Pydantic 添加自定义数据验证
2.1 字段级验证
这是最常见的情况,即为单个字段定义验证规则。在 Pydantic 中,只需在模型上编写一个静态方法,并使用 validator 装饰器进行装饰。
以下是一个验证出生日期的示例:
from datetime import date
from pydantic import BaseModel, ValidationEr
超级会员免费看
订阅专栏 解锁全文
801

被折叠的 条评论
为什么被折叠?



