flask-sqlalchemy动态构造查询

时间:2019-02-21 22:03:09

标签: python json sqlalchemy flask-sqlalchemy

我有一个类似于以下内容的输入json:

Public Shared Sub ThrowEvent(ByVal Message As String, ByVal ExceptionType As Type)

    Dim MyException As New System.Exception(Message)
    MyException = DirectCast(MyException, ExceptionType)
    Throw MyException

End Sub

如果我不知道字段数,如何根据输入的json动态构造sqlalchemy查询?

类似这样的东西:

(Of T)

1 个答案:

答案 0 :(得分:0)

将json转换成字典并检索值。

如果您的json位于文件中(例如data.json),则json库将满足您的需求:

import json

f = open("data.json")
data = json.load(f)
f.close()
User.query.filter(company_id=1).order_by(data["id"], data["ask"]).order_by(data["email"], data["desc"]).all()

如果您的json是字符串(例如json_data

import json

data = json.loads(json_data)
User.query.filter(company_id=1).order_by(data["id"], data["ask"]).order_by(data["email"], data["desc"]).all()

如果您的json是来自python请求库的请求,即res = requests.get(...),则res.json()将返回字典:

data = res.json()
User.query.filter(company_id=1).order_by(data["id"], data["ask"]).order_by(data["email"], data["desc"]).all()