from pydantic import BaseModel的使用方法例子
时间: 2024-03-16 19:42:10 浏览: 136
`pydantic`是一个强大的Python库,用于数据验证和设置。它可以用来定义数据模型,并且可以通过验证来确保数据符合预期的格式。以下是一个使用`pydantic`的示例:
```python
from pydantic import BaseModel
class User(BaseModel):
id: int
name: str
email: str
age: int = None
class Config:
orm_mode = True
```
在上面的代码中,我们创建了一个`User`模型,它继承自`BaseModel`。我们定义了四个属性:`id`,`name`,`email`,`age`。其中`id`,`name`,`email`是必需的,而`age`是可选的,因为我们给它赋了一个默认值`None`。我们还定义了一个`Config`类,其中`orm_mode`是`True`。这是为了让模型能够与ORM(对象关系映射)一起使用。
我们可以使用`User`模型来创建`User`实例:
```python
user_data = {
"id": 1,
"name": "Alice",
"email": "alice@example.com",
"age": 25
}
user = User(**user_data)
print(user)
```
在上面的代码中,我们将字典`user_data`传递给`User`构造函数,以创建一个`User`实例。我们可以使用点`.`运算符来访问`User`实例的属性,例如:
```python
print(user.name)
```
当我们访问`User`实例的属性时,`pydantic`将自动验证属性的类型和格式,以确保它们符合我们在模型中定义的规范。如果数据不符合规范,将引发`ValidationError`异常。
`pydantic`还可以将模型转换为JSON字符串,例如:
```python
user_json = user.json()
print(user_json)
```
上面的代码将`User`实例转换为一个JSON字符串,并将其打印到控制台。
阅读全文