【问题标题】:Django paginator and raw SQLDjango 分页器和原始 SQL
【发布时间】:2012-04-30 03:19:21
【问题描述】:

我在使用 djangoś 分页器功能时遇到问题。在这个问题中我找不到解决方案:Django: Paginator + raw SQL query

使用 Table.object.all() 我没有问题,但使用原始 sql 我收到错误 object of type 'RawQuerySet' has no len()

我也试过了

num = len(list(ads)) paginator = Paginator(num, 2)

我收到object of type 'int' has no len()。我试图打印 num 并且它包含正确的数字,所以我不明白为什么 paginator 不喜欢它。希望有人能帮忙。

【问题讨论】:

    标签: django-pagination


    【解决方案1】:

    在这里找到解决方案:http://groups.google.com/group/django-users/browse_thread/thread/42cf7b5a88f31b9c

    意思是:

    paginator = Paginator((list(ads)), 10)
    

    【讨论】:

    • 这可能非常无效。在普通的 QuerySet 上,分页器可以使用 COUNT、LIMIT 和 OFFSET 来获取所需的结果子集。但在 RawQuerySet 的情况下,您的解决方案将获取所有可能的结果,然后在 python 中对列表进行切片。
    猜你喜欢
    • 2011-02-01
    • 1970-01-01
    • 2018-07-15
    • 2015-11-21
    • 2012-03-16
    • 2012-06-03
    • 1970-01-01
    • 2014-12-18
    • 2020-10-21
    相关资源
    最近更新 更多