前言
pydantic 一般是把传入的键值对,转成pydantic 对象.
我们希望将一个自定义的类对象,转成pydantic 模型,需在Config
类中,设置属性orm_mode = True
。开启from_orm()
方法的使用
开启orm_mode
pydantic 的 orm 模型默认是关闭的,需在Config
类中,设置属性orm_mode = True
。开启from_orm()
方法的使用
from pydantic import BaseModel
class User(BaseModel):
name: str
email: str
class Config:
orm_mode = True
class DbUser:
name = "john"
email = "[email protected]"
# object 对象模型转成pydantic模型
a = User.from_orm(DbUser)
print(a.dict()) # {'name': 'john', 'email': '[email protected]'}
SQLAlchemy 查询数据库的结果是一个orm对象,没提供直接转dict的方法。
于是我们可以通过pydantic先将orm 对象转pydantic 对象,再通过dict()
方法转成常见的的dict 数据类型。