如何从PostgreSQL JSON数据生成模型以在Flask-Admin中使用
我正在使用PostgreSQL数据库,其中有一列被定义为JSON,这个列用来存储Flask应用的数据,使用的是SQLAlchemy。我想为这个列创建一个模型,这样我就可以像使用MongoEngine和MongoDB那样与它进行交互。我的目标是把这个模型提供给Flask-Admin。
在MongoEngine中,你可以这样做:
class User(Document):
email = StringField(required=True)
first_name = StringField(max_length=50)
last_name = StringField(max_length=50)
我想在PostgreSQL的JSON列上做类似的事情。这可能吗?
2 个回答
0
这是可能的,可以看看 http://json-schema.org/。你可以做的是先把每个JSON数据和预先定义好的格式进行对比,确认它们符合要求,然后再把这些数据放入数据库中。
1
无论如何,Flask-Admin 需要你模型的结构信息——它需要知道有哪些列可用。
我建议你可以实现一个自定义的模型后端,可以参考 pymongo 后端的例子:https://github.com/mrjoes/flask-admin/tree/master/flask_admin/contrib/pymongo
其实这样做并不难(代码量不到150行)。