zoukankan      html  css  js  c++  java
  • flask-sqlalchemy 设置json字段

    前提:

      我们知道在mysql 5.7版本之后支持json字段,且在项目中存在业务需求不确定情况,如需求、配置变动频繁,导致表结构无法确定,所以采用json字段来存储不确定配置数据(当然这种情况下完全可以考虑一些非关系型数据库,如MongDB等)。

      下面我们需要设计出一个演示的表结构,如下:

      

    下面我们开始在flask项目中写ORM关系映射对象:

    from app.extend import db  # 插件中导出db
    
    
    class TestJson(db.Model):
        __tablename__ = 't_json'
        id = db.Column(db.INT, primary_key=True)
        content = db.Column(db.String(255))
        jsons = db.Column(db.JSON)
    
        @property
        def serialize(self):
            return {
                '_id': self.id,
                'name': self.content,
                'jsons': self.jsons
            }
    

      

    其次我们在controller中实现简单的业务处理视图:

    from flask import  jsonify
    from app.init_server import open_route_api
    from app.module.jsonDemo.entity.jsonModel import TestJson
    from app.extend import db
    
    
    @open_route_api.route("/test/info", methods=['GET'])  # 插入数据
    def test_infos():
        print("jsonDemo")
        obj = TestJson()
        dic = {
            "a": 1,
            "b": 'b'
        }
        obj.content = "text1"
        obj.jsons = dic
        db.session.add(obj)
        db.session.commit()
        return jsonify(dic)
    
     
    @open_route_api.route("/test/get", methods=['GET'])  # 查询数据
    def get_infos(): 
        print("getDemo")
        obj = TestJson.query.filter_by(id=1).first()
        print(obj)
        return jsonify({'ok': obj.serialize})
    

      

  • 相关阅读:
    2009年信息技术十大趋势
    转:ASP.NET MVC 第五个预览版和表单提交场景
    终于在博客园开通了
    与虚拟机Oracle连接出现ora12154问题的解决
    Frame框架页面加载中进度条的实现
    WordPress安装部署
    Xmarks不会关闭了,太好了!
    抠出淘宝的菜单树
    asp.net实现类似MaskTextBox功能
    win2003 64位系统下ODBC连接使用
  • 原文地址:https://www.cnblogs.com/double-W/p/13438050.html
Copyright © 2011-2022 走看看