Set the :class:`Setting` at ``name`` with a new ``value``.

        If ``default`` is ``True``, the :attr:`Setting.default` is also set.

def set(self, name, value, default=False, imported=False):
        """Set the :class:`Setting` at ``name`` with a new ``value``.

        If ``default`` is ``True``, the :attr:`Setting.default` is also set.
        """
        if name in self.__dict__:
            self.__dict__[name] = value
            return

        if name not in self.settings and self.prefix:
            prefix_name = '%s_%s' % (self.prefix, name)
            if prefix_name in self.settings:
                return  # don't do anything

        if name in self.settings:
            self.settings[name].set(value, default=default, imported=imported)
        elif not imported:
            self.params[name] = value