def _set_data_to_obj(
        self,
        data,
        identifier: SourceMetadata,
        file_merge=empty,
        key=False,
        file_dotted_lookup=None,
    ):
        """Calls settings.set to add the keys"""
        # data 1st level keys should be transformed to upper case.
        data = {upperfy(k): v for k, v in data.items()}
        if key:
            key = upperfy(key)

        if self.obj.filter_strategy:
            data = self.obj.filter_strategy(data)

        # is there a `dynaconf_merge` inside an `[env]`?
        env_scope_merge = data.pop("DYNACONF_MERGE", None)
        if env_scope_merge is not None:
            file_merge = env_scope_merge

        # If not passed or passed as None,
        # look for inner [env] value, or default settings.
        if file_dotted_lookup is None:
            file_dotted_lookup = data.pop(
                "DYNACONF_DOTTED_LOOKUP",
                self.obj.get("DOTTED_LOOKUP_FOR_DYNACONF"),
            )

        if not key:
            self.obj.update(
                data,
                loader_identifier=identifier,
                merge=file_merge,
                dotted_lookup=file_dotted_lookup,
                validate=self.validate,
            )
        elif key in data:
            self.obj.set(
                key,
                data.get(key),
                loader_identifier=identifier,
                merge=file_merge,
                dotted_lookup=file_dotted_lookup,
                validate=self.validate,
            )
Calls settings.set to add the keys
dynaconf/loaders/base.py