我正在使用具有以下型号的烧瓶:
class NewsCategory(db.Model):
__tablename__ = 'news_category'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(64))
parent_id = db.Column(db.Integer, db.ForeignKey('news_category.id'))
children = db.relationship("NewsCategory")
我想从这个模型创建一个json对象,用于导航菜单。
我想以递归方式解析它并构建一个看起来像这样的分层JSON对象:
tree = [{"title": "Node 1", "id": "1"},
{"title": "Folder 2", "id": "2", "folder": "true", "children": [
{"title": "Node 2.1", "id": "3"},
{"title": "Node 2.2", "id": "4"}
]}
]
答案 0 :(得分:3)
我使用名为Flask-Restless的库来查询数据库并返回json。它可以与SQLAlchemy一起使用。
如果您不想集成此类内容,可以继承SQLAlchemy模型,并在其上运行to_json()方法。
import scala.collection.JavaConverters._
myScalaList.asJava
class NewsCategory(db.Model, JsonSerializer)
信用:Github Overholt project(Flask-Security的作者)