def delete_async(self, **ctx_options):
from . import tasklets, model<EOL>ctx = tasklets.get_context()<EOL>cls = model.Model._kind_map.get(self.kind())<EOL>if cls:<EOL><INDENT>cls._pre_delete_hook(self)<EOL><DEDENT>fut = ctx.delete(self, **ctx_options)<EOL>if cls:<EOL><INDENT>post_hook = cls._post_delete_hook<EOL>if not cls._is_default_hook(model.Model._default_post_delete_hook,<EOL>post_hook):<EOL><INDENT>fut.add_immediate_callback(post_hook, self, fut)<EOL><DEDENT><DEDENT>return fut<EOL>
Schedule deletion of the entity for this Key.

        This returns a Future, whose result becomes available once the
        deletion is complete.  If no such entity exists, a Future is still
        returned.  In all cases the Future's result is None (i.e. there is
        no way to tell whether the entity existed or not).