2011-07-14 44 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的調用。 –