javascript,sqlalchemy,序列化
后端开发-Python教程
sqlalchemy的返回类型有大都有两种,一种是Model对象,一种是Query集合(只查询部分字段)。QQ官网源码,vscode怎样将页面放大,amd ubuntu 闪烁,tomcat 伪静态页面,新闻编辑爬虫,php配置文件是什么,通讯产品seo优化怎么做,有什么游戏资源网站源码,phpwind 模板更换lzw
针对这两种返回结果,都是来自同一中类型 sqlalchemy.orm.query.Query 博彩源码网站,vscode扩展在哪里,ubuntu 必须安装,tomcat的模式,sqlite+如何下载安装,爬虫服务器带宽5M,php 调用接口方法,哪些公司和seo有关,网站链接检索,zblog免费主题模板lzw
所以针对Query做相应处理,让他返回一个dict吸粉游戏源码,ubuntu没有账户界面,幼犬身上有爬虫,php是不是前后端都可以做,装饰方面seolzw
class AlchemyJsonEncoder(json.JSONEncoder): def default(self, obj): # 判断是否是Query if isinstance(obj, Query): # 定义一个字典数组 fields = [] # 定义一个字典对象 record = {} # 检索结果集的行记录 for rec in obj.all():# 检索记录中的成员for field in [x for x in dir(rec) if # 过滤属性 not x.startswith('_') # 过滤掉方法属性 and hasattr(rec.__getattribute__(x), '__call__') == False # 过滤掉不需要的属性 and x != 'metadata']: data = rec.__getattribute__(field) try: record[field] = data except TypeError: record[field] = Nonefields.append(record) # 返回字典数组 return fields # 其他类型的数据按照默认的方式序列化成JSON return json.JSONEncoder.default(self, obj)
这样在每次序列化的时候就可以简单的使用
json.dumps(result1, cls=AlchemyJsonEncoder)来实现对结果集的json序列化了。
Python中使用SQLAlchemy连接Mysql数据库2(多表连接操作) | Python中使用SQLAlchemy连接Mysql数据库2(多表连接操作) ...
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍 | Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍 ...