如何使用 Flask API 在 Python 中查询返回的响应的筛选器



我的任务是将所有ASP.NET Web API迁移到Pyhton API中。我正在使用带有蓝图的烧瓶来实现这一点。

现在我正在努力filtering返回的结果在我的Python API(使用 Flask 开发(

这是我在ASP.NET Web API中是如何做到

query = String.Concat(queryMain, queryWhere, queryOrder, "  order by " + (String.IsNullOrEmpty(orderBy) ? " start_time " : orderBy + " " + orderType));
var ctx = new LairdDbContext();
try
{
var anomalyList = ctx.AnomaliUinque.SqlQuery(query).ToList<AnomalyUnique>();
if (anomalyList == null)
{
return null;
}
Ag.Items = anomalyList.Where(x => x.rownumber >= startfrom && x.rownumber <= skp).ToList();
Ag.Total = anomalyList.Count();
return Ag;
}

请注意,我正在使用var anomalyList = ctx.AnomaliUinque.SqlQuery(query).ToList<AnomalyUnique>();获得
主要结果

然后我使用以下行
过滤返回的结果Ag.Items = anomalyList.Where(x => x.rownumber >= startfrom && x.rownumber <= skp).ToList();

在上面的代码行中,rownumber是 返回的列之一query

这是我的Python Flask API版本[这是错误的,因为生成的查询由于"WHERE 行号"部分而存在语法错误]

query = querymain + queryWhere + queryOrder + ' order by ' + m_orderBy + ' WHERE rownumber >= {0} AND rownumber <= {1}'.format(startfrom,skp)
print(query)
try:
cursor.execute(query)
rows = cursor.fetchall()
resp = jsonify(rows)
resp.headers.add('Access-Control-Allow-Origin', '*')
resp.status_code = 200
print(resp)
return resp
except Exception as e:
print(e)
return '', 400
finally:
cursor.close()

现在我的问题是如何使用 Flask API 在 Python 中复制相同的过滤器,特别是以下行。

anomalyList.Where(x => x.rownumber >= startfrom && x.rownumber <= skp).ToList();

使用标准库中的filter()

filter(lambda x: x["rownumber"] >= startfrom && x["rownumber"] <= skp, resp)

相关内容

  • 没有找到相关文章

最新更新