2012-04-18 82 views
1

我无法使用djangośpaginator函数。在这个问题上我不能找到解决办法:Django: Paginator + raw SQL queryDjango paginator和原始SQL

随着Table.object.all()我没有问题,但与原始的SQL我收到错误object of type 'RawQuerySet' has no len()

我也试过

NUM = LEN(名单(广告)) paginator = Paginator(num,2)

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

回答

1

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

这意味着:

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

这可能是非常无效的。在正常的QuerySets上,paginator可以使用COUNT,LIMIT和OFFSET来获得必需的结果子集。但是对于RawQuerySet,您的解决方案将获取所有可能的结果,然后在python中对列表进行切片。 – Beli 2014-02-06 11:38:53