<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def delete_object(obj, recursive=False, delete_nullable=False):
 """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 """

    warnings.warn("delete_object() is deprecated, Manager.delete() "
                  "should be used instead",
                  DeprecationWarning)

    # Here are private calls involved:
    # - obj._pk_expr()
    if recursive:
        dependencies = obj.dependencies(delete_nullable)
        for query, fk in reversed(list(dependencies)):
            model = fk.model
            if fk.null and not delete_nullable:
                await update(model.update(**{fk.name: None}).where(query))
            else:
                await delete(model.delete().where(query))
    result = await delete(obj.delete().where(obj._pk_expr()))
    return result