Демонстрация преобразования данных в Chartjs с помощью django

Я пытаюсь отобразить данные о количестве пациентов в месяц на гистограмме с помощью chartjs


Данные отправляются из бэкенда нормально, но проблема в том, что я не знаю, как распределить их на графике, где ось X - 12 месяцев текущего года.
вот код:
views.py

class DataChart(APIView):

    def get(self, request, format=None):
        now = datetime.datetime.now()
        year = now.year
        month = now.month
        label = [datetime.datetime.today() + datetime.timedelta(days=i) for i in range(1, 10)]
        patien = Patient.objects.filter(date_joined__year__gte=year,
            date_joined__month__gte=month,
            date_joined__year__lte=year,
            date_joined__month__lte=month ).count()
        default_items = [patien]
        data = {
            "labels":label ,
            "default":default_items
        }
        return Response(data)

скрипт chartjs

$(document).ready(function() {
        var endpoint = '/api/chart/'
        var defaultData = []
        var monthls = []
        $.ajax({
            method: "GET",
            url: endpoint,
            success: function(data){
                labels = data.labels
                defaultData = data.default
                setData()
            },
            error: function(err_data){
                console.log("error")
                console.log(err_data)
            }
        })
        function setData(){
            const ctx = document.getElementById('myChart');                
                new Chart(ctx, {
                    type: 'bar',
                    data: {
                    labels:labels,
                    datasets: [{
                        label: 'Patients',
                        data:defaultData ,
                        borderWidth: 1
                    }]
                    },
                    options: {
                    scales: {
                        x: {
                            type: 'time',
                            time: {
                                unit: 'day'
                            }
                        },
                        y: {
                        beginAtZero: true
                        }
                    }
                    }
                });
        }
    });

Метки, которые отправляются из представлений, просто показывают даты в формате дня, и не работают хорошо также потому, что они даже не показывают текущий день по какой-то причине

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