'Undelete this instance, making it available to all manager methods
again and restoring its version number.
Return False if it was not marked as deleted, True otherwise.
Will re-generate a slug, that might differ from the original one if it
was taken in the meantime.'

def undelete(self):

    if (not self.deleted):
        return False
    self.clean_slug()
    self.update(deleted=False, slug=self.slug)
    return True
