
特别是看一下Paginator的源代码page()函数,我认为这只是在您这一边实现切片,并将其转换为SQL查询中的相关LIMIT子句的问题。您可能还需要添加一些缓存,但是它开始看起来像QuerySet,因此也许您可以做其他事情:
- 您可以使用CREATE VIEW myview AS [您的查询]创建数据库VIEW;
- 为该视图添加Django模型,并添加meta:managed = False
- 与其他任何模型一样使用该模型,包括对其查询集进行切片-这意味着它非常适合与Paginator一起使用
(供您参考-我已经使用这种方法很长时间了,即使与VIEWs的复杂多对多关系伪造了m2m中间表。)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)