写一个pydantic的复杂例子
时间: 2024-08-14 22:09:02 浏览: 92
Pydantic是一个强大的Python验证库,它允许你在创建对象时定义复杂的结构和约束。下面是一个使用Pydantic定义并验证复杂模型的例子:
首先,我们需要安装`pydantic`库(如果尚未安装):
```bash
pip install pydantic
```
然后,我们可以定义一个名为`User`的模型,这个模型包含了姓名、年龄、邮箱地址以及一个可选的宠物列表:
```python
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
email: str
pets: List[str] = []
# 创建一个实例
user_data = {
"name": "Alice",
"age": 30,
"email": "alice@example.com",
"pets": ["Dog", "Cat"]
}
# 验证数据
try:
user = User(**user_data)
except ValueError as e:
print(f"Validation error: {e}")
else:
print(f"Valid user: {user.json()}")
# 如果输入的数据不满足模型定义,将会抛出异常
```
在这个例子中,我们定义了一个`User`模型,其中`name`和`email`字段不能为空,`age`字段必须是整数,而`pets`是一个可选的字符串列表。
阅读全文