def __iter__(self):
operation = self._get_operation()<EOL>kwargs = self.kwargs.copy()<EOL>limit = kwargs.get('<STR_LIT>', None)<EOL>while True:<EOL><INDENT>result = operation(self.model.get_table_name(), **kwargs)<EOL>for raw_item in result.get('<STR_LIT>'):<EOL><INDENT>if limit is not None:<EOL><INDENT>limit -= <NUM_LIT:1><EOL><DEDENT>yield self.model.from_raw_data(raw_item)<EOL><DEDENT>last_evaluated_key = result.get('<STR_LIT>', None)<EOL>if not self._prepare_next_fetch(kwargs, last_evaluated_key, limit):<EOL><INDENT>raise StopIteration<EOL><DEDENT><DEDENT>
Result items of the operation.