把SQLAlchemy查询对象转换成字典/json使用(分开)
注:针对的是查询出来的是单条对象
多个对象的话可以使用for循环遍历查询出来的对象列表,也可以使用下面的方法
1.config.py文件
#!/usr/bin/env python #-*- coding: utf-8 -*- from sqlalchemy import create_engine,Column,String,Integerfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import sessionmaker HOSTNAME = '127.0.0.1'PORT = '3306'DATABASE = '1'USERNAME = 'root'PASSWORD = 'root' DB_URI = "mysql+mysqlconnector://{username}:{password}@{host}:{port}/{db}?charset=utf8".format(username=USERNAME,password=PASSWORD,host=HOSTNAME,port=PORT,db=DATABASE)engine = create_engine(DB_URI)Base = declarative_base(engine)session = sessionmaker(engine)() class Views(Base): __tablename__ = 'views' id = Column(Integer, primary_key=True) name = Column(String(100)) ports = Column(String(100)) def to_dict(self): model_dict = dict(self.__dict__) del model_dict['_sa_instance_state'] return model_dict db.to_dict = to_dict # 若是使用的flask_sqlalchemy,则改写成: db.to_dict = to_dict # 或者使用如下的这种 #def to_dict(self): #return {c.name: getattr(self, c.name) for c in self.__table__.columns} 2.mian.py文件..........
Info = session.query(Views).filter_by(id=1).first()Info.to_dict() # 把查询得到的结果转换成字典样式,键是数据表中的字段名,值是数据表中对应的值
..........
针对多个对象的解决方法:把ORM模型中的to_dict换成如下的:
def to_dict(self):result = {}for key in self.__mapper__.c.keys():if getattr(self, key) is not None:result[key] = str(getattr(self, key))else:result[key] = getattr(self, key)return result
然后再封装一个转换成json的函数:
def to_json(all_vendors):v = [ ven.dobule_to_dict() for ven in all_vendors ]return v
使用方法:
users = User.query.all() data = to_json(users) print(data) # [{'id': '1', 'username': 'admin', 'email': 'admin@example.com'}, {'id': '2', 'username': 'guest', 'email': 'guest@example.com'}] print(type(data)) # <class 'list'> print(data[0]) # {'id': '1', 'username': 'admin', 'email': 'admin@example.com'} print(type(data[0])) # <class 'dict'>
转载于:https://www.cnblogs.com/sanduzxcvbnm/p/10219961.html
把SQLAlchemy查询对象转换成字典/json使用(分开)相关推荐
- 使用Jackson将一个对象转换成一个JSON字符串
由于ajax的流行,在程序中使用了越来越多的json来进行数据的传输,而Jackson可以将一个普通的java对象转换成一个json的字符串,帮助程序员进行前后端数据的传输. 首先需要导入程序依赖的j ...
- 【JavaScript】查漏补缺 —对象转换成字符串JSON.stringify()
[JavaScript]查漏补缺 -对象转换成字符串JSON.stringify() 将字符串转换为对象类型
- django QuerySet对象转换成字典对象
今天做一个添加购物车的模块,在添加商品之前要先验证用户是否处于登录状态,前台用ajax异步发送请求,后台在接收到请求后从session中取出用户登录信息. 根据登录信息从用户表中查询出对应用户,再将状 ...
- python 序列化压缩成字符串_Python 将json序列化后的字符串转换成字典(推荐)
一般而言下面的就可以完成需求了. def convertToDic(data): jsonDic=json.loads(data) return dict(jsonDic) 但实际应用中可能会出现一些 ...
- python对象列表转换为字典_python实现class对象转换成json/字典的方法
本文实例讲述了python实现class对象转换成json字典的方法.分享给大家供大家参考,具体如下: # -*- encoding: UTF-8 -*- class Student: name = ...
- python里class转换_python实现class对象转换成json/字典的方法
python实现class对象转换成json/字典的方法 发布于 2016-03-28 08:05:44 | 153 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是 ...
- 将Model对象转换成json文本或者json二进制文件
将Model对象转换成json文本或者json二进制文件 https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTran ...
- 把对象转换成JSON字符串 第二稿支持移动设备
/*** 导入jackson包 把对象转换成JSON字符串 第二稿 支持移动设备* @param pn* @param request* @return*/@RequestMapping(value ...
- Flex4将对象转换成json串
使用json需要先引入as3corelib.swc 1.将对象转换成json串 var obj:Object = new Object(); obj.filename = "1.jpg&qu ...
最新文章
- 虚拟计算机配置文件,如何更改虚拟内存位(可以解决由于启动计算机时出现了页面文件配置问题……).docx...
- 测试C语言malloc申请内存不释放结果
- 编写字符串反转函数 .
- Ember版本小小结
- 安卓随机通话记录_Android 通话记录
- 使用Zuul和Spring Boot创建API网关
- qml如何发布程序_首创PC端小程序直播发布会,360如何与手机厂商一起共振?
- LeetCode 589. N叉树的前序遍历(前序遍历)
- SharePoint最简母版页
- jQuery获取url地址
- iOS开发--AVFoundation自定义相机
- java代码审计文件包含_代码审计--一道简单的文件包含题目的多种利用方式
- 重磅 | 企业大数据战略规划,看这一篇文章就够了!
- Red5流媒体服务器初探——Red5服务器的搭建
- 使用vue开发的网页游戏
- 【《系统集成项目管理工程师》必备100题】
- 图像二值化——最大类间方差法(Ostu,大津法)
- ARM架构(RISC)和x86架构(CISC)以及传统与移动CPU/GPU厂商
- Xadmin文档(二)
- 计网/数据库面试题(更新中ing~~)