如何从PostgreSQL JSON数据类型生成模型,以便与Flask-Admin一起使用

时间:2014-09-09 16:52:34

标签: python flask flask-sqlalchemy flask-admin

我使用PostgreSQL数据库,其列定义为JSON,使用SQLAlechemy充当Flask应用程序的数据存储区。我的想法是为这个专栏创建一个模型,所以我可以像使用MongoEngine和MongoDB那样与它进行交互。我的目标是将该模型提供给Flask-Admin。

使用MongoEngine,您可以执行以下操作:

class User(Document):
    email = StringField(required=True)
    first_name = StringField(max_length=50)
    last_name = StringField(max_length=50)

我想用PostreSQL中的JSON列做类似的事情。这可能吗?

2 个答案:

答案 0 :(得分:1)

在任何情况下,Flask-Admin都需要模型的架构 - 它需要知道哪些列可用。

我建议实现自定义模型后端并使用pymongo后端作为示例:https://github.com/mrjoes/flask-admin/tree/master/flask_admin/contrib/pymongo

这并不难(在150行代码下)。

答案 1 :(得分:0)

有可能,看看http://json-schema.org/ 您可以做的是根据预定义的模式验证每个JSON。然后将其插入DB。