Я пытаюсь передать свой набор запросов в highcharts.js.Я могу сделать это, используя метод ниже:
Это мой view.py
class chart_data(object): # Grabs the Data
def sum_savings():
data = {'division': [], 'total_actual_savings': [],
'actual_fte': []}
cost = BsoCet.objects.annotate(savings=Sum('total_actual_savings'))
for i in cost:
data['division'].append(i.division)
data['total_actual_savings'].append(i.total_actual_savings)
#data['actual_fte'].append(i.actual_fte)
return data
def plot(request, chartID = 'chart_ID', chart_type = 'column',chart_height
= 500):
data = chart_data.sum_savings()
chart = {
'chart' : {"renderTo": chartID, "type": chart_type, "height":
chart_height},
'title' : {"text": 'Check Cost per Division'},
'xAxis' : {"title": {"text": 'Divisions'}, "categories":
data['division']},
'yAxis' : {"title": {"text": 'Cost'}},
'series' : [
{"name": 'Total Actual Savings', "data":
data['total_actual_savings']}
]
}
return JsonResponse(chart)
Это мой шаблон
<div id="container" data-url="{% url 'BSO:plot' %}"></div>
<script>
$.ajax({
url: $("#container").attr("data-url"),
dataType: 'json',
success: function (data) {
Highcharts.chart("container", data);
}
});
</script>
Когда я начинаю использовать значения() в моем наборе запросов для аннотирования и группировки столбцов для агрегации и добавления их к переменной данных, это дает мне эту ошибку TypeError: values () не принимает аргументов (1 дано).
Это мои новые представления.py используя values () для моего набора запросов:
class chart_data(object): # Grabs the Data
def sum_savings():
data = {'division': [], 'total_actual_savings': [],
'actual_fte': []}
cost = BsoCet.objects.values('division').
annotate(savings=Sum('total_actual_savings'))
for i in cost:
data['division'].append(i.values('division'))
data['total_actual_savings'].
append(i.values('total_actual_savings'))
return data
**** def plot остается неизменным ...
*** это ошибка, которую я получаю: строка 21, вsum_savings data ['Division']. append (i.values ('Division')) TypeError: values () не принимает аргументов (1 дано)
Я довольно новичок в Django, поэтому, пожалуйста, помогите мне.