async def delete_object(obj, recursive=False, delete_nullable=False):
warnings.warn("<STR_LIT>"<EOL>"<STR_LIT>",<EOL>DeprecationWarning)<EOL>if recursive:<EOL><INDENT>dependencies = obj.dependencies(delete_nullable)<EOL>for query, fk in reversed(list(dependencies)):<EOL><INDENT>model = fk.model<EOL>if fk.null and not delete_nullable:<EOL><INDENT>await update(model.update(**{fk.name: None}).where(query))<EOL><DEDENT>else:<EOL><INDENT>await delete(model.delete().where(query))<EOL><DEDENT><DEDENT><DEDENT>result = await delete(obj.delete().where(obj._pk_expr()))<EOL>return result<EOL>
Delete object asynchronously.

    :param obj: object to delete
    :param recursive: if ``True`` also delete all other objects depends on
        object
    :param delete_nullable: if `True` and delete is recursive then delete even
        'nullable' dependencies

    For details please check out `Model.delete_instance()`_ in peewee docs.

    .. _Model.delete_instance(): http://peewee.readthedocs.io/en/latest/peewee/
        api.html#Model.delete_instance