注:针对的是查询出来的是单条对象

多个对象的话可以使用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使用(分开)相关推荐

  1. 使用Jackson将一个对象转换成一个JSON字符串

    由于ajax的流行,在程序中使用了越来越多的json来进行数据的传输,而Jackson可以将一个普通的java对象转换成一个json的字符串,帮助程序员进行前后端数据的传输. 首先需要导入程序依赖的j ...

  2. 【JavaScript】查漏补缺 —对象转换成字符串JSON.stringify()

    [JavaScript]查漏补缺 -对象转换成字符串JSON.stringify() 将字符串转换为对象类型

  3. django QuerySet对象转换成字典对象

    今天做一个添加购物车的模块,在添加商品之前要先验证用户是否处于登录状态,前台用ajax异步发送请求,后台在接收到请求后从session中取出用户登录信息. 根据登录信息从用户表中查询出对应用户,再将状 ...

  4. python 序列化压缩成字符串_Python 将json序列化后的字符串转换成字典(推荐)

    一般而言下面的就可以完成需求了. def convertToDic(data): jsonDic=json.loads(data) return dict(jsonDic) 但实际应用中可能会出现一些 ...

  5. python对象列表转换为字典_python实现class对象转换成json/字典的方法

    本文实例讲述了python实现class对象转换成json字典的方法.分享给大家供大家参考,具体如下: # -*- encoding: UTF-8 -*- class Student: name = ...

  6. python里class转换_python实现class对象转换成json/字典的方法

    python实现class对象转换成json/字典的方法 发布于 2016-03-28 08:05:44 | 153 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是 ...

  7. 将Model对象转换成json文本或者json二进制文件

    将Model对象转换成json文本或者json二进制文件 https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTran ...

  8. 把对象转换成JSON字符串 第二稿支持移动设备

    /*** 导入jackson包 把对象转换成JSON字符串 第二稿 支持移动设备* @param pn* @param request* @return*/@RequestMapping(value ...

  9. Flex4将对象转换成json串

    使用json需要先引入as3corelib.swc 1.将对象转换成json串 var obj:Object = new Object(); obj.filename = "1.jpg&qu ...

最新文章

  1. 虚拟计算机配置文件,如何更改虚拟内存位(可以解决由于启动计算机时出现了页面文件配置问题……).docx...
  2. 测试C语言malloc申请内存不释放结果
  3. 编写字符串反转函数 .
  4. Ember版本小小结
  5. 安卓随机通话记录_Android 通话记录
  6. 使用Zuul和Spring Boot创建API网关
  7. qml如何发布程序_首创PC端小程序直播发布会,360如何与手机厂商一起共振?
  8. LeetCode 589. N叉树的前序遍历(前序遍历)
  9. SharePoint最简母版页
  10. jQuery获取url地址
  11. iOS开发--AVFoundation自定义相机
  12. java代码审计文件包含_代码审计--一道简单的文件包含题目的多种利用方式
  13. 重磅 | 企业大数据战略规划,看这一篇文章就够了!
  14. Red5流媒体服务器初探——Red5服务器的搭建
  15. 使用vue开发的网页游戏
  16. 【《系统集成项目管理工程师》必备100题】
  17. 图像二值化——最大类间方差法(Ostu,大津法)
  18. ARM架构(RISC)和x86架构(CISC)以及传统与移动CPU/GPU厂商
  19. Xadmin文档(二)
  20. 计网/数据库面试题(更新中ing~~)

热门文章

  1. JavaWeb 之 HttpServletResponse
  2. Android中使用Intent进行窗体切换,并且传值和自定义类的对象详解
  3. datagrid嵌套和资源消耗
  4. 【刘晓燕语法长难句】 并列句
  5. Linux的用户管理
  6. java程序员目标_Java程序员的目标,你都达到了多少条?
  7. 计算机英语评价,关于计算机专业英文自我评价
  8. mysql 常用计算函数_关于MySQL常用的一些函数以及一些计算
  9. matlab处理最优化问题,matlab求最优化问题
  10. 计算机原理与接口专科,春福师计算机原理与接口关键技术在线作业二.doc