flask-sqlalchemy 查询结果转成json

把查询到的对象格式化成json格式返给前端使用是项目中最多见的一种方法,可是用sqlalchemy查询出来的对象转成json格式稍微有些麻烦,我得作法是这样的 前端

# 用户表
class User(db.Model):
    id = db.Column('user_id', db.Integer, primary_key=True)
    username = db.Column('user_username', db.String(100), index=True, unique=True, nullable=True)
    password = db.Column('user_password', db.String(120), nullable=True)
    create_time = db.Column('user_time', db.Integer, default=Date.now())

    def __repr__(self):
        return '<User %s>' % self.username

    def to_json(self):
        return {
            'id': self.id,
            'username': self.username,
            'time': Date.unix_to_human(self.create_time),
        }

在model模型中定义一个to_json方法,虽然在须要转json格式的model里都要实现这个,很有些不科学的感受,可是最大的好处就是自定义,好比user表中不给前端提供用户密码,虽然已经加密过了,在to_json里面就直接不提供就得了 python

其实琢磨一下,也不算是很费事,对吧? sql

from flask import jsonify

user = User.query.get(1)

jsonify(user.to_json())

哪位童鞋有更好的方式,请不吝赐教 json

相关文章
相关标签/搜索