Можно ли сказать, был ли курсор NDB перевернут?
Из GAE docs обратный курсор можно сделать следующим образом:
rev_cursor = cursor.reversed()
Я ищу что-то вроде cursor.is_reversed()
, которое вернет, был ли курсор перевернут или нет.
Существует ли это?
1 ответ:
Нет, такая информация не сохраняется. Вызов
.reversed()
просто возвращает новый курсор с обратными позициями:def reversed(self): """Creates a cursor for use in a query with a reversed sort order.""" for pos in self.__compiled_cursor.position_list(): if pos.has_start_key(): raise datastore_errors.BadRequestError('Cursor cannot be reversed.') rev_pb = datastore_pb.CompiledCursor() rev_pb.CopyFrom(self.__compiled_cursor) for pos in rev_pb.position_list(): pos.set_start_inclusive(not pos.start_inclusive()) return Cursor(_cursor_pb=rev_pb)
(исходный текст с отступом в 4 пробела для удобства чтения).