我正在开发和应用程序,需要分页的链接列表。我正在使用djangoappengine的django non-rel。
我知道set_cursor和get_cursor在djangoappengine.db.utils中找到的函数,它们使得向前导航变得很容易:
paginate_by = 25
queryset = Link.objects.all()
cursor = request.GET.get('cursor') #Alternatively passed via ajax in a POST request
if cursor:
queryset = set_cursor(queryset, cursor)
links = queryset[0:paginate_by]
next_cursor = get_cursor(links)
然而,我正在努力向后导航。GAE中的官方过程是reverse the cursor and to use a reversed query。这使用了一个reversed()函数,它是Cursor类的一部分,我不确定是否可以在Django中访问它。
但是如何在djangoappengie中反转游标呢?
如果这是不可能的,我认为替代方案是存储游标客户端,通过ajax传递它们,然后根据页码生成查询。不过,我更喜欢尽可能遵循官方程序。
谢谢
发布于 2013-01-12 05:28:34
我不知道回答你自己问题的政策是什么。在further research之后,我发现了一个反转光标的函数,即:
from google.appengine.datastore import datastore_query
def reverse_cursor(cursor):
return datastore_query.Cursor.from_websafe_string(cursor).reversed().to_websafe_string()
我将把它存储在我的utils.py中,获得一个反向的光标应该很简单。
https://stackoverflow.com/questions/14284168
复制相似问题