docs: def check(self):
          """
          Run the setting checker against the setting raw value.
  
          Raises:
              AttributeError: if the setting is missing and required.
              ValueError: if the raw value is invalid.
          """
          try:
              value = self.raw_value
          except (AttributeError, KeyError) as err:
              self._reraise_if_required(err)
          else:
              if self.checker:
                  self.checker(self.full_name, value)
              try:
                  self.validate(value)
                  self.run_validators(value)
              except ValidationError as error:
                  raise ValueError("Setting {} has an invalid value: {}".format(self.full_name, error))