docs: def get_module(self, setting_name, warn_only_if_overridden=False,
                     accept_deprecated='', suppress_warnings=False,
                     warning_stacklevel=3):
          """
          Returns a Python module referenced by an app setting where the value is
          expected to be a valid, absolute Python import path, defined as a
          string (e.g. "myproject.app.custom_module").
  
          :param setting_name:
              The name of the app setting for which a value is required.
          :type setting_name: str (e.g. "SETTING_NAME")
          :param warn_only_if_overridden:
              If the setting named by ``setting_name`` is deprecated, a value of
              ``True`` can be provided to silence the immediate deprecation
              warning that is otherwise raised by default. Instead, a
              (differently worded) deprecation warning will be raised, but only
              when the setting is overriden.
          :type warn_only_if_overridden: bool
          :param accept_deprecated:
              If the setting named by ``setting_name`` replaces multiple
              deprecated settings, the ``accept_deprecated`` keyword argument can
              be used to specify which of those deprecated settings to accept as
              an override value.
  
              Where the requested setting replaces only a single deprecated
              setting, override values for that deprecated setting will be
              accepted automatically, without having to specify anything.
          :type accept_deprecated: str (e.g. "DEPRECATED_SETTING_NAME")
          :param suppress_warnings:
              Use this to prevent the raising of any deprecation warnings that
              might otherwise be raised. It may be more useful to use
              ``warn_only_if_overridden`` instead.
          :type suppress_warnings: bool
          :param warning_stacklevel:
              When raising deprecation warnings related to the request, this
              value is passed on as ``stacklevel`` to Python's
              ``warnings.warn()`` method, to help give a more accurate indication
              of the code that caused the warning to be raised.
          :type warning_stacklevel: int
          :raises:
              UnknownSettingNameError, SettingValueTypeInvalid,
              SettingValueNotImportable
  
          Instead of calling this method directly, developers are generally
          encouraged to use the ``modules`` attribute shortcut, which is a
          syntactically much cleaner way to request values using the default
          options. For example, the the following lines are equivalent::
  
              appsettingshelper.modules.SETTING_NAME
              appsettingshelper.get_module('SETTING_NAME')
  
          """
          self._warn_if_deprecated_setting_value_requested(
              setting_name, warn_only_if_overridden, suppress_warnings,
              warning_stacklevel)
  
          cache_key = self._make_cache_key(setting_name, accept_deprecated)
          if cache_key in self._modules_cache:
              return self._modules_cache[cache_key]
  
          raw_value = self.get(
              setting_name,
              enforce_type=str,
              accept_deprecated=accept_deprecated,
              check_if_setting_deprecated=False,
              warn_only_if_overridden=warn_only_if_overridden,
              suppress_warnings=suppress_warnings,
              warning_stacklevel=warning_stacklevel + 1,
          )
  
          try:
              result = self._do_import(raw_value)
              self._modules_cache[cache_key] = result
              return result
          except ImportError:
              self._raise_setting_value_error(
                  setting_name=setting_name,
                  user_value_error_class=OverrideValueNotImportable,
                  default_value_error_class=DefaultValueNotImportable,
                  additional_text=(
                      "No module could be found matching the path '{value}'. "
                      "Please use a full (not relative) import path in the "
                      "format: 'project.app.module'."
                  ),
                  value=raw_value
              )