Хорошо.Я нахожу решение для этого
1) Сначала я нахожу SQL, который мне нужен для этого
"SELECT DISTINCT generate_series(start_date::date, end_date::date, '1 day'::interval) AS dates, * FROM api_event ORDER BY dates")
2) Во-вторых, я пишу это на Django ORM:
Event.objects.annotate(dates=Func(F('start_date'), F('end_date'), Value('1 day'), function='generate_series')).all()
Итак, я получаю список, который мне нужен:
[{
"id": 1,
"name": "Event1",
"dates": "2018-09-14",
"start_date": "2018-09-14 14:22:00",
"end_date": "2018-09-15 14:22:00"
}, {
"id": 1,
"name": "Event1",
"dates": "2018-09-15",
"start_date": "2018-09-14 14:22:00",
"end_date": "2018-09-15 14:22:00"
}, {
"id": 2,
"name": "Event2",
"dates": "2018-09-15",
"start_date": "2018-09-15 14:22:00",
"end_date": "2018-09-15 15:22:00"
}]
Этот ответ хорош для меня.