Я борюсь со структурой моего API, который должен отображать диаграмму из первичного ключа модели. Основная проблема, которую я имею, состоит в том, чтобы написать представление, которое отображает атрибуты из той же модели, что и PK, введенный пользователем, а затем передает его вместе с Ajax
view.py
class forecast(APIView):
def get(self, request, *args, **kwargs):
query = request.GET.get('search_res', None)
data = {}
if query and request.method == 'GET':
reference = Item.objects.filter(reference = query)
forecast1 = Item.objects.filter(reference = query).values('demand_30_jours')
forecast2 = Item.objects.filter(reference=query).values('Lt2')
forecast3 = Item.objects.filter(reference=query).values('Lt3')
data.update({'reference': reference,
'forecastdata': [forecast1,forecast2,forecast3]
})
return Response(data)
и вот мой график на html странице
<script>
$(document).ready(function() {
var endpoint = 'api/chart/forecast'
var forecastdata = []
var reference = []
;
$.ajax({
method: "GET",
url: endpoint,
data: {'search_res' : $('search_res').val(),},
success: function (data) {
reference = data.reference
forecastdata = data.forecastdata
setChart()
},
error: function (error_data) {
console.log(error_data)
}
}
)
function setChart(){
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'scatter',
data: {
labels: reference,
datasets: [{
label: 'item demand planning',
data: forecastdata,
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}],
options: {
scales: {
type: 'linear',
position: 'bottom',
yAxes: [{
gridLines: {
display: true,
drawOnChartArea: false,
},
ticks: {
beginAtZero: true
}
}]
}
}
}
})
}
}
)
</script>
Консоль не показывает никаких ошибок, но в файле html ничего не отображается. Я изо всех сил пытаюсь понять, что сейчас не так. Любая помощь приветствуется !!