【发布时间】:2018-09-10 08:26:01
【问题描述】:
我正在尝试使用 chartist 来可视化每天的事件数量,到目前为止我已经尝试了以下方法:
models.py
class Event(models.Model):
name = models.TextField(max_length=500)
event_date = models.DateTimeField()
charts.py
def mychart():
events = Event.objects.annotate(start_day=Trunc('event_date', 'day', output_field=DateField())).values('event_day').annotate(myevent=Count('id'))
return json.dumps({
'labels':[p['start_day'] for p in events],
'series':[p['myevents'] for p in events]})
但我仍然得到单个对象,而不是按“天”分组! 如下图:
2018-04-02 1
2018-03-31 1
2018-04-02 1
2018-04-02 1
2018-03-31 1
2018-04-02 1
2018-04-02 1
而我所期待的是:
2018-04-02 5
注意:我使用的是 PostgreSQL 数据库
【问题讨论】:
-
我想说最后一个
annotate应该是aggregate -
它对我不起作用,我收到以下错误,(字符串索引必须是整数)。
-
为什么不用
Count('event_day')而不是Count('id') -
Count('event_day) 返回相同的结果(单个对象)
标签: python django python-3.x