zoukankan      html  css  js  c++  java
  • 把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"})
  • 相关阅读:
    Docker没有vi命令的解决方案
    docker-compose
    liunx 删除文件
    OPB_发票信息表(每笔结算生成一条数据) opb_invoiceinfo
    OPB_发票明细表(每一类药品生成一条数据) opb_invoicedetail
    工程启动类
    MySQL数据库启动,关闭,重启:
    linux压缩和解压缩命令
    降序限位排名
    PHP环境的塔建 防坑指南
  • 原文地址:https://www.cnblogs.com/zishu/p/10977232.html
Copyright © 2011-2022 走看看