self.template_searchpath = template_searchpath
        self.template_undefined = template_undefined
        self.last_loaded = timezone.utcnow()
        self.safe_dag_id = dag_id.replace(".", "__dot__")
        self.max_active_runs = max_active_runs
        self.dagrun_timeout = dagrun_timeout
        self.sla_miss_callback = sla_miss_callback
        if default_view in DEFAULT_VIEW_PRESETS:
            self._default_view: str = default_view
        elif default_view == "tree":
            warnings.warn(
                "`default_view` of 'tree' has been renamed to 'grid' -- please update your DAG",
                RemovedInAirflow3Warning,
                stacklevel=2,
            )
            self._default_view = "grid"
        else:
            raise AirflowException(
                f"Invalid values of dag.default_view: only support "
                f"{DEFAULT_VIEW_PRESETS}, but get {default_view}"
            )
        if orientation in ORIENTATION_PRESETS:
            self.orientation = orientation
        else:
            raise AirflowException(
                f"Invalid values of dag.orientation: only support "
                f"{ORIENTATION_PRESETS}, but get {orientation}"
            )
        self.catchup = catchup
        self.partial = False