把SQLAlchemy查询对象转换成字典
2024-08-24 15:56:45
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"})
最新文章
- [LeetCode] Length of Last Word 求末尾单词的长度
- 改变spring-servlet.xml名字和默认位置
- ul li 下的元素内容垂直居中
- ZC706以太网扩展板接口
- 关于oracle存储过程的一些知识点
- 面向对象的异常处理之深入理解java异常处理机制
- node.js模块之http模块
- 安装SQLServer2008后Windows防火墙上的端口开放
- java中 SSL认证和keystore使用
- Java栈的实例-数组和链表两种方法(转)
- SqlServer建立存储过程,方便.NET插入自增字段
- go golang 笔试题 面试题 笔试 面试
- [编织消息框架][JAVA核心技术]动态代理应用1
- java容器类分析:Collection,List,ArrayList
- EOSIO/appbase
- boost::function 介绍
- IO伪异步实现
- pagex/y offsetx/y screenx/y clientx/y 用法及区别
- RMAN 数据库克隆文件位置转换方法
- lintcode---线段树查询||(区间元素个数)
热门文章
- python初学笔记之列表推导式
- python 小兵(10)内置函数
- React之redux学习日志(redux/react-redux/redux-saga)
- C#Xml的三种创建方式(或者是两种?)和增删改查
- ApacheCN C# 译文集 20211124 更新
- ApacheCN JavaWeb 译文集 20211017 更新
- Java流程控制01:用户交互Scanner
- CF1408G Clusterization Counting
- iOS中播放音效
- indexOf() 和 lastIndexOf()