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

相關文章
相關標籤/搜索