python - 如何在获得中间结果的同时在 sqlalchemy 的大表上应用 LIMIT/OFFSET [请阅读下面的详细信息]?

标签 python mysql sorting sqlalchemy filtering

我想对包含大量记录的表执行 3 个操作:(1)filter(基于搜索查询)(2)order_by(在asc/desc 中的单个列)和 (3)slice(对于给定的 offsetlimit 值)。

在执行这些操作时,我需要中间结果(在筛选/排序后获得),找出满足给定筛选查询的记录数(将此信息发送到前端)。

现在我正在使用 sqlalchemy 的 FILTERORDER_BY 来获取中间结果,然后在列表上应用切片。我如何使用 sqlalchemy 的 FILTERORDER_BYSLICE 以及获取过滤/排序后的记录数作为子项来实现相同的目的结果?

我现在使用的 sqlalchemy 查询如下:

result = session.\
         query(Customer).\
         filter(Customer.name.like('%' + filter_query + '%') | Customer.email.like('%' + filter_query + '%') | Customer.partner.like('%' + filter_query + '%')).\
         order_by(asc(getattr(Customer, sorting_column_name))).\
         all()

最佳答案

result = session.\
     query(Customer).\
     filter(Customer.name.like('%' + filter_query + '%') | Customer.email.like('%' + filter_query + '%') | Customer.partner.like('%' + filter_query + '%')).\
     order_by(asc(getattr(Customer, sorting_column_name))).\
     slice(offset,limit).\
     all()

关于python - 如何在获得中间结果的同时在 sqlalchemy 的大表上应用 LIMIT/OFFSET [请阅读下面的详细信息]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24991800/

相关文章:

python - 将数字的 unicode 表示形式转换为 ascii 字符串

Python Pillow 降低图像质量不会改变文件大小

python - 如何更改Python中for循环的计数器?

MYSQL 如何匹配一个句子中的两个单词

php - 如何向mysql数据库中插入元素

ios - Swift 函数执行时间测量问题

python - 带有 fastapi 和 sqlmodel 的 BigInteger

mysql - 如何在 Rails rake 任务中将参数传递给 mysql 查询?

javascript - 减少对象数组: limit similar fields based on value from another field

javascript - CSS 按字母顺序排序。我在哪里可以得到消息?