在FastAPI中管理Pydantic数据模型及依赖注入
1. 定义模型方法
Pydantic模型是普通的Python类,因此可以在模型上定义任意数量的方法。例如,在 PostBase 模型中定义 excerpt 方法:
class PostBase(BaseModel):
title: str
content: str
def excerpt(self) -> str:
return f"{self.content[:140]}..."
定义 excerpt 方法意味着它将在每个模型变体中可用。这种继承方法有助于防止代码重复和减少错误。
2. 使用Pydantic添加自定义数据验证
- 字段级验证 :这是最常见的情况,为单个字段定义验证规则。可以在模型上编写静态方法,并使用
validator装饰器进行装饰。
from datetime import date
from pydantic import BaseModel, ValidationError, validator
class Person(BaseModel):
first_name: str
last_name: str
birthdate: date
超级会员免费看
订阅专栏 解锁全文
51

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



