flask sqlalchemy 設定json欄位

2022-05-30 02:45:12 字數 1110 閱讀 5967

前提:

我們知道在mysql 5.7版本之後支援json欄位,且在專案中存在業務需求不確定情況,如需求、配置變動頻繁,導致表結構無法確定,所以採用json欄位來儲存不確定配置資料(當然這種情況下完全可以考慮一些非關係型資料庫,如mongdb等)。

下面我們需要設計出乙個演示的表結構,如下:

下面我們開始在flask專案中寫orm關係對映物件:

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

其次我們在controller中實現簡單的業務處理檢視:

from flask import  jsonify

@open_route_api.route("/test/info", methods=['get']) # 插入資料

def test_infos():

print("jsondemo")

obj = testjson()

dic =

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()

Flask SQLAlchemy學習總結

配置鍵說明 sqlalchemy database uri 用於連線資料的資料庫。例如 sqlalchemy binds 乙個對映繫結 bind 鍵到 sqlalchemy 連線 uris 的字典。用於繫結多個資料庫 sqlalchemy echo 如果設定成 true sqlalchemy 將會記...

flask SQLAlchemy基本使用

作為資料的操作,最基本的就是增刪改查 常用的sqlalchemy查詢過濾器 過濾器說明 filter 把過濾器新增到原查詢上,返回乙個新查詢 filter by 把等值過濾器新增到原查詢上,返回乙個新查詢 limit 使用指定的值限定原查詢返回的結果 offset 偏移原查詢返回的結果,返回乙個新查...

Flask SQLAlchemy定義模型

模型表示程式使用的資料實體,在flask sqlalchemy中,模型一般是python類,繼承自db.model,db是sqlalchemy類的例項,代表程式使用的資料庫。類中的屬性對應資料庫表中的列。id為主鍵,是由flask sqlalchemy管理。db.column類建構函式的第乙個引數是...