Я пытаюсь написать очень простой гистограмм, используя Django и D3.js. У меня есть объект, называемый play с полем datetime, называемым датой. То, что я хочу сделать, - показать количество пьес со временем, сгруппированных по месяцам. В основном у меня есть два вопроса:
- Как получить эти группировки по месяцам с подсчетом количества игр в этом месяце
- Каков наилучший способ получить эту информацию из Django во что-то, что можно использовать с помощью D3.
Теперь я посмотрел на некоторые другие ответы здесь и попробовал
json = (Play.objects.all().extra(select={'month': "extract(month FROM date)"})
.values('month').annotate(count_items=Count('date')))
Это приближается к информации, которую я хочу, но когда я пытаюсь вывести ее в шаблон, она выводится следующим образом (с Ls) в конце месяца. Это означает, что, очевидно, оно недействительно js (no qoutes), и я действительно не хочу, чтобы Ls на конце был там.
Шаблон:
<script>
var test ={{ json|safe }};
alert("test");
</script>
выход:
var test = [{'count_items': 10, 'month': 1L}, {'count_items': 5, 'month': 2L}];
Я также попробовал json.dumps по этим данным, но мне сказали, что это недействительно JSON. Это похоже на то, что в Django должно быть намного проще, поэтому, возможно, я полностью опустил путь worng.