Как исправить ошибку «Не удается прочитать свойство« скрытое »из неопределенного» при попытке построить Chart.js из views.py - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь построить график из базы данных, используя конечную точку axios для получения данных. Я подозреваю, что это как-то связано с форматом. Как я вижу, все еще вижу правильные данные при переходе к api / chart / data /.

У меня есть две переменные, одна работает нормально, а другая не определена: total_km и sorted_vehicle_list

поэтому, когда я console.log (метки), он сказал: «Ошибка: невозможно прочитать свойство« скрыто »из неопределенного» * ​​1005 *

P.S. sorted_vehicle_list имеет один единственный экземпляр и возвращается в виде списка [] (который, я уверен, в этом проблема)

Я попытался напечатать вывод запроса в views.py, и вывод был правильным. Он возвращает данные, которые мне нужны, но почему-то Chart.js не видит их.


class ChartData(APIView):
    authentication_classes = []
    permission_classes = []

    def get(self, request, format=None):
        all_vehicles = LoggerRecord.objects.values('imei').distinct()
        vehicle_list = []

        for vehicle in all_vehicles:
            vehicle_list.append(vehicle['imei'])

        sorted_vehicle_list = sorted(vehicle_list)

        #create sum km
        total_km = LoggerRecord.objects.aggregate(Sum('distance'))

        print(total_km)
        print(all_vehicles)

        data = {
            'all_vehicles': all_vehicles,
            'total_km': total_km
        }

        return Response(data)

axios.get(endpoint)
  .then(function (response) {
    labels = response.data.sorted_vehicle_list
    total_km = response.data.total_km
    console.log(labels)
    console.log(total_km)
    var ctx = document.getElementById('myChart').getContext('2d');

    var chart = new Chart(ctx2, {
        // The type of chart we want to create
        type: 'bar',
        // The data for our dataset
        data: {
            labels: labels,
            datasets: [{
                label: 'Total KM',
                backgroundColor: 'rgb(255, 99, 132)',
                borderColor: 'rgb(255, 99, 132)',
                data: total_km 
            }]
        }
        //console.log(response);
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...