1

リンクのリストをページ分割する必要があるアプリケーションを開発しています。私はdjangoappengineでdjango non-relを使用しています。

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 に答える