code: def query(self, query):
          
          return query((self._deserialised_value(x) for x in self.container.get_objects(prefix=query.key)))
docs: Returns an iterable of objects matching criteria expressed in `query`.
  
          Implementations of query will be the largest differentiating factor
          amongst datastores. All datastores **must** implement query, even using
          query's worst case scenario, see :ref:class:`Query` for details.
  
          :param query: Query object describing the objects to return.
          :return: iterable cursor with all objects matching criteria