把SQLAlchemy查询对象转换成字典
1-假设查出来的为单个对象
1-1 在model.py中为模型对象添加字典转换函数:
from exts import db class User(db.Model):
__tablename__ = 'user'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
username = db.Column(db.String(50), nullable=False)
age = db.Column(db.Integer, nullable=False) # 把SQLAlchemy查询对象转换成字典
def to_dict(self):
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
1-2 接口函数中的使用:
@app.route('/query_id/<user_id>', methods=['GET'])
def query_by_id(user_id):
user = Girl.query.filter(User.id == user_id).first()
if user:
return jsonify({"code": 200, "msg": "success", "user": user.to_dict()})
else:
return jsonify({"code": 100, "msg": "None"})
2-当查出来的为多个对象
2-1 在之前单个对象的基础上,在接口文件中添加一个将多个对象依次转换为字典的循环函数:
# 将查出来的所有对象都转换成json的函数
def to_json(all_vendors):
v = [ven.to_dict() for ven in all_vendors]
return v
2-2 接口函数中的使用:
@app.route('/query_age/<user_age>', methods=['GET'])
def query_by_age(user_age):
users = User.query.filter(User.age == user_age).all()
if users:
return jsonify({"code": 200, "msg": "success", "users": to_json(users)})
else:
return jsonify({"code": 100, "msg": "None"})
把SQLAlchemy查询对象转换成字典的更多相关文章
- 把SQLAlchemy查询对象转换成字典/json使用(分开)
注:针对的是查询出来的是单条对象 多个对象的话可以使用for循环遍历查询出来的对象列表,也可以使用下面的方法 1.config.py文件 #!/usr/bin/env python #-*- codi ...
- 把SQLAlchemy查询对象转换成字典/json使用(汇总)
1.使用SQLAlchemy from sqlalchemy import create_engine,Column,String,Integerfrom sqlalchemy.ext.declara ...
- django QuerySet对象转换成字典对象
>>> from django.contrib.auth.models import User >>> from django.forms.models impor ...
- sqlachemy查询对象转化成字典/json使用
https://www.cnblogs.com/sanduzxcvbnm/p/10220718.html
- python class对象转换成json/字典
# -*- encoding: UTF-8 -*- class Student: name = '' age = 0 def __init__(self, name, age): self.name ...
- 编写Python脚本把sqlAlchemy对象转换成dict的教程
编写Python脚本把sqlAlchemy对象转换成dict的教程 在用sqlAlchemy写web应用的时候,经常会用json进行通信,跟json最接近的对象就是dict,有时候操作dict也会比操 ...
- SpringMVC分页查询无法直接将对象转换成json的解决办法(报org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type:错)
在用ajax获得分页数据时,无法将获取的值赋值给input标签,在修改用户信息时不显示用户已经注册的信息,百度可知 springmvc处理分页数据返回的对象时,无法直接将对象转换成json,会报org ...
- json 字符串转换成对象,对象转换成json字符串
json 字符串转换成对象,对象转换成json字符串 前端: 方法一: parseJSON方法: [注意jquery版本问题] var str = '{"name":&qu ...
- 将list<对象>转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据
领导让在存储过程中批量添加数据,找出效率最高的,我看到后台代码后,发现可以将list<对象>转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据,知道还有其 ...
随机推荐
- winform GDI+ 抗锯齿
graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
- grafana中如何展示prometheus的延迟分布数据?
最终效果 最终在grafana中展示了一个服务每分钟的延迟分布: 各个部分的含义如下: 1.时间的分布,从0.01秒到最多720秒 2.用颜色深浅代表次数.颜色越深,请求次数越多 3.时间轴,代表在这 ...
- 【发布开源代码】铁威马NAS存储上实现的视频文件浏览
具体介绍请看:https://github.com/ahfuzhang/tnas_video_web x86机器的windows/linux/mac机器应该都能使用 效果如下: 按月浏览视频 视频太多 ...
- linux中链接错误的时候,快速找到缺失的符号在哪个库中
编译一个opencv程序,链接的时候出现大量的如下错误: /home/admin/opencv/opencv-master/modules/imgproc/src/color_lab.cpp:23: ...
- 雷柏鼠标vt350Q配对
vt350q 闲鱼捡了个垃圾vt350q,23元,无接收器,不知道好坏 鼠标线 拿到手插上线没法用,后来用了罗技anywhere2s的线可以,原来usb鼠标线是五根. 鼠标毛病 使用后发现滚轮有时候乱 ...
- node.js在Linux下执行shell命令、.sh脚本
首先,引入子进程模块 var process = require('child_process'); 执行shell命令 调用该模块暴露出来的方法exec process.exec('shutdown ...
- java匿名内部类-细节
1 package face_09; 2 3 public class InnerClassDemo50 { 4 static class Inner{ 5 6 } 7 public static v ...
- 磁盘sda,hda,sda1,并行,串行
1.sd,hd表示硬盘, a表示第一块盘, 1表示硬盘上的第一个分区 2.sd是Serial ATA Disk ,表示硬盘是scsi,SATA串行接口 hd是 hard disk,表示硬盘是IDE(也 ...
- 不难懂-----git一套流程
001.初始化仓库,创建git仓库 git init 002.配置个人信息 git config --global user.name <名字> --------->:配置用户名 g ...
- MySQL数据类型操作(char与varchar)
目录 一:MySQL数据类型之整型 1.整型 2.验证不同类型的int是否会空出一个存储正负号 3.增加约束条件 去除正负号(unsigned) 二:浮点型 1.浮点型 2.验证浮点型精确度 三:字符 ...