У меня есть задача перенести все ASP.NET Web API
в Pyhton API
. Я использую Flask с Blueprints для достижения этого.
Сейчас я борюсь с 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 rownumber']
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()
Теперь у меня вопрос, как мне реплицировать тот же фильтр в Python, используя * 1039? * API, в частности, следующая строка.
anomalyList.Where(x => x.rownumber >= startfrom && x.rownumber <= skp).ToList();