1

我正在开发需要对链接列表进行分页的应用程序。我将 django non-rel 与 djangoappengine 一起使用。

我知道在 djangoappengine.db.utils 中找到的函数 set_cursor 和 get_cursor 可以很容易地向前导航:

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 中的官方程序是反转光标并使用反转查询。这利用了作为 Cursor 类一部分的reversed()函数,我不确定是否可以在 Django 中访问该函数。

但是如何在 djangoappengie 中反转光标?

如果不可能,我认为另一种方法是存储游标客户端,通过 ajax 传递它们,然后根据页码生成查询。不过,我更愿意尽可能地遵循官方程序。

谢谢

4

1 回答 1

0

我不知道回答你自己问题的政策是什么......经过进一步研究,我发现了一个反转光标的函数,即:

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 中,并且获得反向光标应该很简单。

于 2013-01-11T21:28:33.977 回答