首页 > 其他分享 >pydantic学习与使用-16.ORM 模型 orm_mode

pydantic学习与使用-16.ORM 模型 orm_mode

时间:2023-10-25 11:01:31浏览次数:23  
标签:16 True ORM dict mode orm Config pydantic

前言

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 数据类型。



标签:16,True,ORM,dict,mode,orm,Config,pydantic
From: https://blog.51cto.com/u_15249893/8015602

相关文章

  • Flutter/Dart第16天:Dart类方法
    Dart官方文档:https://dart.dev/language/methods重要说明:本博客基于Dart官网文档,但并不是简单的对官网进行翻译,在覆盖核心功能情况下,我会根据个人研发经验,加入自己的一些扩展问题和场景验证。实例方法实例方法就是在类中定义的函数。对象的实例方法可访问this实例和实例变量。......
  • 2023ACMMM_Mutual Information-driven Triple Interaction Network for Efficient Ima
    一.Motivation之前网络存在的缺点:1.使用的有限的频域信息 2. 不充足的信息交互:(1)第一阶段的输出直接作为第二阶段的输入,忽略了中间特征从早期到后期的传播(2)在编码器解码器结构同尺度之间进行特征融合,忽略了阶段内和跨阶段的跨尺度信息交换3. 严重的特征......
  • 【C#】【WinForm】MDI窗体
    MDI窗体的相关学习使用1、设置MDI父窗体 在属性中找到IsMdiContainer选项,设置为True2、添加MDI子窗体,在项目中依次选择添加->窗体,然后一直默认即可 添加后的项目目录(Form1为父窗口,Form2、Form3为子窗口) 3、在Form1.cs中,创建对应MDI子窗口的对象并调用显示出来1name......
  • 软考系列(系统架构师)- 2016年系统架构师软考案例分析考点
    试题一软件架构(质量属性、架构风格对比、根据描述填空)试题二系统开发(用例图参与者、用例关系、类图关系)学生、教师、管理员、时间、打印机【问题2】(7分)用例是对系统行为的动态描述,用例获取是需求分析阶段的主要任务之一。请指出在面向对象系统建模中,用例之间的关系有......
  • VK Cup 2016 - Round 1 (CF639)
    A.BearandDisplayedFriends这是Div2的题,不写。B.BearandForgottenTree3这种东西怎么评蓝的?Description给定\(n,d,h\),构造一棵有\(n\)个点,直径为\(d\),高度为\(h\)的树。\(n\le10^5\)。Solution首先\(d>2h\)是无解的,\(d=h=1\)且\(n>2\)的时候也无解......
  • Databend 开源周报第 116 期
    Databend是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn。What'sOnInDatabend探索Databend本周新进展,遇到更贴近你心意的Databend。特性预览:使用SQL管理后台任务此前,Databend引入了......
  • Databend 开源周报第 116 期
    Databend是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn。What'sOnInDatabend探索Databend本周新进展,遇到更贴近你心意的Databend。特性预览:使用SQL管理后台任务此前,Databend引入了后......
  • ASP.NET 安全认证(三)——用Form 表单认证实现单点登录(Single Sign On) 作者:寒羽枫
    【原创】ASP.NET安全认证(三)——用Form表单认证实现单点登录(SingleSignOn)作者:寒羽枫(cityhunter172)第三部分实现单点登录(SingleSignOn) “等了好久终于等到今天,写了好久终于就快完结,但是网友的反应却让我有一些的伤心。盼了好久终于盼到今天,忍了好久终于把此文撰写,那些受冷......
  • 2023NOIP A层联测16 T3 货物运输
    2023NOIPA层联测16T3货物运输题目描述说这是一个仙人掌图,通常将问题转换为环和树的问题在使用圆方树来解决。树解法令\(a_i=s_i-\frac{\sums_i}{n}\),最终令\(a_i=0\)。通过树形dp,从叶子节点向上转移,叶子节点要么向父亲拿资源,要么向父亲传资源,所以转移为:\[a_{fa}+=a_i......
  • 通过反射对比两个Model值的差异
    //Headvarhead=row.Head.GetType().GetProperties();varheadModel=model.Head.GetType().GetProperties();foreach(varhinhead){if(h.Name!="ChangedBy"&h.Name!="UpdateDate"&h.Name!="UpDate&qu......