使用RawQuerySet分页

时间:2019-11-03 05:20:17

标签: django

我正在使用Django进行原始SQL查询。我需要对输出进行分页,因为对于某些输入,这些查询返回的结果超过100k,这需要很长时间。我无法使用Django ORM,因为我的SQL查询包含与非常特定的postgres插件(RDKit PostgreSQL卡盒)的交互。

目前,我正在获取所有结果,然后才进行分页。但是,这确实是我程序中的瓶颈,因为要获取10万行以上的所有结果,可能要花一分钟以上的时间。

# making a specific sql statement
sql = compose_sql_statement(parameters)
molecules = Molecule.objects.raw(sql)

paginator = Paginator(molecules, 10)
molecules_page = paginator.get_page(page)

0 个答案:

没有答案