是否可以判断NDB游标是否已被反转?

时间:2013-02-28 12:24:35

标签: python google-app-engine google-cloud-datastore app-engine-ndb

从GAE文档可以通过以下方式制作反向光标:

rev_cursor = cursor.reversed()

我正在寻找像cursor.is_reversed()这样的东西,它会返回光标是否被反转。

存在吗?

1 个答案:

答案 0 :(得分:2)

不,不保留此类信息。 .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空格缩进)。