2011-07-14 42 views
0

将django分页程序添加到我们的Google应用程序引擎项目以启用分页是否是个好主意?它看起来很诱人,因为我可能没有实现分页,尽管可能存在隐藏的缺点。例如,我们昨天尝试过的PageQuery类不能页面SearchableModel(!),但django paginator可以。是否有更好的理由来使用游标?现在我居然可以将网页的使用页面变量以简单的方式将数据集,但我与Django的分页程序类使用GAE评估django分页程序

from paginator import Paginator, InvalidPage, EmptyPage

做,在这这种情况下,下面的代码实际上页上的数据集:

 articles = Articles.all() 
     paginator = Paginator(articles,PAGESIZE) 
     articles = paginator.page(page) 

所以我觉得这个解决方案很诱人,因为它非常容易和可读,并希望你可以评论。我添加的django文件是 http://code.djangoproject.com/browser/django/trunk/django/core/paginator.py 我仍然可以使用我的IN查询,并且代码非常易读,只需添加django分页程序即可。 我在使用游标时犯了一个错误,在我的情况下有什么缺点? 如果你想在我的执行细节仔细看看我已经发布了一些在这里How to page the dataset 谢谢

-

回答

2

我的一个朋友使用它,并有性能问题,我觉得它使用限制和偏移量是不适合AppEngine。正确的解决方案是使用使用游标的分页程序。

+0

感谢您的回答。我也会看看使用游标的分页。我很高兴django aginator兼容,因为它很容易工作。我将它部署到我的网站www.koolbusiness.com/li,现在可以采用比光标更直观的页面参数 –

+1

您可以使用appstats来评估性能! – PanosJee

+0

我很高兴这是很容易使用django paginator类,并希望mayeb我可以有一个paginator类使用游标,但完全相同的API作为django paginator所以我会做的,如果它的工作,从使用限制和偏移切换到使用游标我只需要一个更新的'paginator.py',并且API传递了相同的API,因此我不必更改对paginator的调用。 –