### Body

Currently `start_date` is mandatory parameter.
For DAGs with `schedule=None` we can relax this requirement as no scheduling calculation needed so the `start_date` parameter isn't used.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
return (
            get_last_dagrun(
                self.dag_id, session=session, include_externally_triggered=include_externally_triggered
            )
            is not None
        )
    @property
    def dag_id(self) -> str:
        return self._dag_id
    @dag_id.setter
    def dag_id(self, value: str) -> None:
        self._dag_id = value
    @property
    def is_subdag(self) -> bool:
        return self.parent_dag is not None
    @property
    def full_filepath(self) -> str:
        """Full file path to the DAG.
        :meta private:
        """
        warnings.warn(
            "DAG.full_filepath is deprecated in favour of fileloc",
            RemovedInAirflow3Warning,
            stacklevel=2,
        )
        return self.fileloc
    @full_filepath.setter
    def full_filepath(self, value) -> None: