@classmethod
  @gen.coroutine
  def QueryFollowers(cls, client, viewpoint_id, excl_start_key=None, limit=None):
    # Query the viewpoint_id secondary index with excl_start_key & limit.
    query_expr = ('follower.viewpoint_id={id}', {'id': viewpoint_id})
    start_index_key = db_client.DBKey(excl_start_key, viewpoint_id) if excl_start_key is not None else None
    follower_keys = yield gen.Task(Follower.IndexQueryKeys,
                                   client,
                                   query_expr,
                                   start_index_key=start_index_key,
                                   limit=limit)

    last_key = follower_keys[-1].hash_key if len(follower_keys) > 0 else None

    followers = yield gen.Task(Follower.BatchQuery, client, follower_keys, None)

    raise gen.Return((followers, last_key))
Query followers belonging to the viewpoint (up to 'limit' total) for
dataset/ETHPy150Open viewfinderco/viewfinder/backend/db/viewpoint.py/Viewpoint.QueryFollowers