Как получить разницу дней немного сложным способом с помощью queryset в Django
Я использую Django, и всякий раз, когда менеджер задачи изменяется, изменение сохраняется в поле истории. Поле истории сохраняется следующим образом. Здесь я хотел бы получить продолжительность работы каждого менеджера. EX: {'field_summary': {'manager': 'Michael -> Michael/Amelia', 'contact': '010-1234-1234-> 010-1234-1234/010-9876-9876'}}
[models.py]
Task(models.Model):
task_name = models.CharField(max_length=100, blank=False)
manager_name = models.CharField(max_length=100, blank=False)
history = models.ForeignKey(History, on_deleted=models.SET_NULL)
....
create_date = models.DateTimeField(auto_now_add=True)
[views.py]
task = Task.objects.filter(id='20', history__summary__icontains='manager')
[statistic.html]
{% for task in task %}
{% for h in task.history %}
{% if h.summary_json.field_summary.manager %}
manager: {{ h.summary_json.field_summary.manager }}
date: {{ h.create_date }},
{% endif %}
{% endfor %}
{% endfor %}
[результат]
manager: Michael/Amelia -> Michael/Sophia change_date: 2022-02-25,
manager: Michael -> Michael/Amelia change_date: 2021-10-12,
manager: Michael/Amelia -> Michael change_date: 2021-09-23,
manager: who -> Michael/Amelia change_date: 2021-05-12,
manager: None -> who change_date: 2021-04-12
Я хочу вывести что-то вроде
Майкл: 2021.05.12 ~ сегодня всего: 316 дней
Амелия: 2021.05.12 ~ 2021.09.23 (134), 2021.10.12 ~ 2022.02.25. (136) итого: 270 дней
София: 2022.02.25. ~ сегодня всего: 27 дней
queryset -> Майкл, 316, Амелия, 270, София, 27