<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def query(self, query):
 """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 """

        return query((self._deserialised_value(x) for x in self.container.get_objects(prefix=query.key)))