**Apache Airflow version**:

master

**Kubernetes version (if you are using kubernetes)** (use `kubectl version`):

**Environment**: breeze

**What happened**:

This DAG
```python
from airflow import models
from airflow.operators.dummy_operator import DummyOperator
from airflow.utils.dates import days_ago

with models.DAG("test", start_date=days_ago(1), schedule_interval=None,) as dag:
    t1 = DummyOperator(task_id="t1")
    t2 = DummyOperator(task_id="t2")
    t1 >> t2
```

is rendering like that:

<img width="1374" alt="Screenshot 2020-08-27 at 19 59 41" src="https://user-images.githubusercontent.com/9528307/91478403-11d7fb00-e8a0-11ea-91d0-d7d578bcb5a2.png">

**What you expected to happen**:

I expect to see same relations as defined in DAG file

**How to reproduce it**:

Render the example DAG from above.


**Anything else we need to know**:

I'm surprised by this bug 👀 

airflow/www/views.py
form.execution_date.choices = dt_nr_dr_data['dr_choices']
        tis = [
            ti for ti in dag.get_task_instances(dttm, dttm)
            if ti.start_date and ti.state]
        tis = sorted(tis, key=lambda ti: ti.start_date)
        ti_fails = list(itertools.chain(*[(
            session
            .query(TaskFail)
            .filter(TaskFail.dag_id == ti.dag_id,
                    TaskFail.task_id == ti.task_id,
                    TaskFail.execution_date == ti.execution_date)
            .all()
        ) for ti in tis]))
        
        gantt_bar_items = []
        tasks = []
        for ti in tis:
            end_date = ti.end_date or timezone.utcnow()
            
            
            
            try_count = ti.prev_attempted_tries
            gantt_bar_items.append((ti.task_id, ti.start_date, end_date, ti.state, try_count))
            task_dict = alchemy_to_dict(ti)
            task_dict['extraLinks'] = dag.get_task(ti.task_id).extra_links
            tasks.append(task_dict)
        tf_count = 0
        try_count = 1
        prev_task_id = ""
        for failed_task_instance in ti_fails: