code: def unlink_user(self, enterprise_customer, user_email):
          
          try:
              existing_user = User.objects.get(email=user_email)
              # not capturing DoesNotExist intentionally to signal to view that link does not exist
              link_record = self.get(enterprise_customer=enterprise_customer, user_id=existing_user.id)
              link_record.delete()
  
              if update_user:
                  # Remove the SailThru flags for enterprise learner.
                  update_user.delay(
                      sailthru_vars={
                          'is_enterprise_learner': False,
                          'enterprise_name': None,
                      },
                      email=user_email
                  )
  
          except User.DoesNotExist:
              # not capturing DoesNotExist intentionally to signal to view that link does not exist
              pending_link = PendingEnterpriseCustomerUser.objects.get(
                  enterprise_customer=enterprise_customer, user_email=user_email
              )
              pending_link.delete()
  
          LOGGER.info(
              'Enterprise learner {%s} successfully unlinked from Enterprise Customer {%s}',
              user_email,
              enterprise_customer.name
          )
docs: Unlink user email from Enterprise Customer.
  
          If :class:`django.contrib.auth.models.User` instance with specified email does not exist,
          :class:`.PendingEnterpriseCustomerUser` instance is deleted instead.
  
          Raises EnterpriseCustomerUser.DoesNotExist if instance of :class:`django.contrib.auth.models.User` with
          specified email exists and corresponding :class:`.EnterpriseCustomerUser` instance does not.
  
          Raises PendingEnterpriseCustomerUser.DoesNotExist exception if instance of
          :class:`django.contrib.auth.models.User` with specified email exists and corresponding
          :class:`.PendingEnterpriseCustomerUser` instance does not.