'Retrieve the object matching the id provided.  Uses `object_id` only
and raises InvalidQueryError if a filter has been applied. Returns
`None` if no document exists with that id.
:param object_id: the value for the id of the document to look up
.. versionchanged:: 0.6 Raises InvalidQueryError if filter has been set'

def with_id(self, object_id):

    queryset = self.clone()
    if (not queryset._query_obj.empty):
        msg = 'Cannot    use    a    filter    whilst    using    `with_id`'
        raise InvalidQueryError(msg)
    return queryset.filter(pk=object_id).first()
