От поиска идей/альтернатив к предоставлению количества страниц/элементов/навигации по элементам, соответствующим запросу хранилища данных GAE , я мог найти подсказку, как осуществлять навигацию по страницам назад с помощью одиночный курсор в ОБРАТНОМ ПОРЯДКЕ.
class CursorTests(test_utils.NDBTest):
def testFirst(self):
class Bar(model.Model):
value = model.IntegerProperty()
self.entities = []
for i in range(10):
e = Bar(value=i)
e.put()
self.entities.append(e)
q = Bar.query()
bars, next_cursor, more = q.order(Bar.key).fetch_page(3)
barz, another_cursor, more2 = q.order(-Bar.key).fetch_page(3, start_cursor=next_cursor)
self.assertEqual(len(bars), len(barz))
К сожалению, это не удалось с этой ошибкой.
Трассировка (последний последний вызов):Файл "/Users/reiot/Documents/Works/appengine-ndb-experiment/ndb/query_test.py", строка 32, в testFirst self.assertEqual(len(bars), len(baz))AssertionError:3 != 2
Да, в обратном запросе отсутствует элемент границы.
bars = [Bar(key=Key('Bar', 1), value=0), Bar(key=Key('Bar', 2), value=1), Bar(key=Key('Bar', 3), value=2)]
bars = [Bar(key=Key('Bar', 2), value=1), Bar(key=Key('Bar', 1), value=0)]
Как решить эту проблему?