def _get_raw_value(self, setting_name, accept_deprecated='',
                       warn_if_overridden=False, suppress_warnings=False,
                       warning_stacklevel=3):
        """
        Returns the original/raw value for an app setting with the name
        ``setting_name``, exactly as it has been defined in the defaults
        module or a user's Django settings.

        If the requested setting is deprecated, ``warn_if_overridden`` is
        ``True``, and the setting is overridden by a user, a suitable
        deprecation warning is raised to help inform them of the change.

        If the requested setting replaces a single deprecated setting, and no
        user defined setting is defined using the new name, the method will
        look for a user defined setting using the deprecated setting name, and
        return that if found. A deprecation warning will also be raised.

        If the requested setting replaces multiple deprecated settings, the
        ``accept_deprecated`` keyword argument can be used to specify which of
        those deprecated settings to accept as the value if defined by a user.

        If no override value was found in the Django setting, then the
        relevant value from the defaults module is returned.
        """
        if not self.in_defaults(setting_name):
            self._raise_invalid_setting_name_error(setting_name)

        if self.is_overridden(setting_name):
            if(
                warn_if_overridden and not suppress_warnings and
                setting_name in self._deprecated_settings
            ):
                depr = self._deprecated_settings[setting_name]
                depr.warn_if_overridden(warning_stacklevel)
            return self.get_user_defined_value(setting_name)

        if setting_name in self._replacement_settings:
            deprecations = self._replacement_settings[setting_name]
            for item in deprecations:
                if(
                    (len(deprecations) == 1 or item.setting_name == accept_deprecated) and
                    self.is_overridden(item.setting_name)
                ):
                    if not suppress_warnings:
                        item.warn_if_user_using_old_setting_name(warning_stacklevel)
                    return self.get_user_defined_value(item.setting_name)
        return self.get_default_value(setting_name)
Returns the original/raw value for an app setting with the name
        ``setting_name``, exactly as it has been defined in the defaults
        module or a user's Django settings.

        If the requested setting is deprecated, ``warn_if_overridden`` is
        ``True``, and the setting is overridden by a user, a suitable
        deprecation warning is raised to help inform them of the change.

        If the requested setting replaces a single deprecated setting, and no
        user defined setting is defined using the new name, the method will
        look for a user defined setting using the deprecated setting name, and
        return that if found. A deprecation warning will also be raised.

        If the requested setting replaces multiple deprecated settings, the
        ``accept_deprecated`` keyword argument can be used to specify which of
        those deprecated settings to accept as the value if defined by a user.

        If no override value was found in the Django setting, then the
        relevant value from the defaults module is returned.