【发布时间】:2016-03-28 22:32:17
【问题描述】:
我有一个 AngularJS 应用程序,旨在以 JSON 格式构建查询,这些查询由许多表、字段和运算符构建,例如“join”、“inner”、“where”、“and”、“or”、喜欢”等
AngularJS 应用程序正在将此 JSON 查询发送到我的 Django-Restframework 后端,因此我需要将该 JSON 查询转换为 SQL 查询,以便能够运行原始 SQL 并验证允许选择哪些表/模型。
我不需要完整的 JSON 查询到 SQL 查询的翻译,我只想翻译支持“where”、“and”、“or”、“group_by”等子句的选择。
为了更好地理解我的问题,我输入了以下 sn-ps:
{
"selectedFields": {
"orders": {
"id": true,
"orderdate": true},
"customers": {
"customername": true,
"customerlastname": true}
},
"from": ["orders"],
"inner_join":
{
"customers": {
"on_eq": [
{
"orders": {
"customderID": true
},
},
{
"customers": {
"customerID": ture
}
}
]
}
}
}
SELECT
Orders.OrderID,
Customers.CustomerName,
Customers.CustomerLastName,
Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
我的例子来自:http://www.w3schools.com/sql/sql_join.asp
请注意,我不会尝试将任何 SQL 查询输出序列化为 JSON。
【问题讨论】:
-
创建您自己的库/服务,该库/服务将足够智能以获取 json 并创建 SQL。
-
我找到了这个包:npmjs.com/package/json-sql我想知道你是否知道 python 类似的东西。
标签: sql angularjs json django-rest-framework code-translation