Django-undelete combines soft-delete technology and background tasks to perform delayed hard-delete and gives the possibility of undoing delete action.