Django Queryset подсчет состояния между датами недели неподходящие данные поступают

Я хочу вычислить количество активных статусов между недельными датами. то, что я пытаюсь сделать, приведено ниже.

date_list : ['2022-04-06', '2022-04-13', '2022-04-20', '2022-04-27', '2022-05-04', '2022-05-11', '2022-05-18', '2022-05-25', '2022-06-01', '2022-06-08', '2022-06-15', '2022-06-22', '2022-06-29']

    def get_status_count(date_list):
        status_dict = []
        for i in range(0,len(date_list)):
            week_list = date_list[i:i-7]
            print(week_list,'ttttttttt')
            datetime_object = datetime.strptime(str(date_list[i]), '%Y-%m-%d')
            last_date = datetime_object + timedelta(days=-7)
            dateStr = last_date.strftime("%Y-%m-%d")
    
            tsts = [dateStr,date_list[i]]
            count = Status.objects.filter(arrival_date__range = tsts).values("arrival_date").annotate(dcount=Count('arrival_date'))
            status_dict.append({"date" : date_list[i],"count":count})
        return status_dict

Выход, который я получаю, выглядит так:

{'date': '2022-04-06', 'count': <QuerySet [{'arrival_date': '2022-04-06', 'dcount': 1}]>}{'date': '2022-04-13', 'count': <QuerySet [{'arrival_date': '2022-04-06', 'dcount': 1}]>}{'date': '2022-04-20', 'count': <QuerySet []>}{'date': '2022-04-27', 'count': <QuerySet []>}{'date': '2022-05-04', 'count': <QuerySet []>}{'date': '2022-05-11', 'count': <QuerySet []>}{'date': '2022-05-18', 'count': <QuerySet []>}{'date': '2022-05-25', 'count': <QuerySet []>}{'date': '2022-06-01', 'count': <QuerySet []>}{'date': '2022-06-08', 'count': <QuerySet []>}{'date': '2022-06-15', 'count': <QuerySet []>}{'date': '2022-06-22', 'count': <QuerySet []>}{'date': '2022-06-29', 'count': <QuerySet [{'arrival_date': '2022-06-28', 'dcount': 1}, {'arrival_date': '2022-06-29', 'dcount': 1}]>}

Но он не приходит, так как я хочу получить данные типа :

[{'arrival_date': '2022-04-06', 'dcount': 1},{'arrival_date': '2022-04-13', 'dcount': 2},{'arrival_date': '2022-04-20', 'dcount': 0}, и так далее.....]

В данных базы данных у меня есть :

+----+-----------+--------+-------------+--------------+--------------+--------+
| id | number | state  | name | checker_name | arrival_date | locals    |
+----+-----------+--------+-------------+--------------+--------------+--------+
|  1 | 1665022   | close  | ab          | operator     | 2022-04-08   | 166788 |
|  2 | 1665021   | closes | cd          | operator1    | 2022-04-13   | 166782 |
|  4 | 1665021   | closes | ef          | operator1    | 2022-04-06   | 166783 |
+----+-----------+--------+-------------+--------------+--------------+--------+

Может ли кто-нибудь, пожалуйста, помочь мне связать это как то, что я делаю неправильно здесь в моем запросе и в моем коде python? Я застрял здесь, я не знаю, почему это происходит, есть ли у кого-нибудь идеи или решения?

Вернуться на верх