首页 > 数据库技术 > 详细

把SQLAlchemy查询对象转换成字典

时间:2019-06-05 10:28:41      阅读:488      评论:0      收藏:0      [点我收藏+]

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查询对象转换成字典

原文:https://www.cnblogs.com/zishu/p/10977232.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!