从Django 1.6升级到1.8注释逻辑更改

时间:2015-11-24 09:29:25

标签: django django-1.8 django-1.6

由于种种原因,我刚从Django 1.6升级到1.8。 我注意到我的应用程序显示的数据有一些变化。 也许有人可以帮我找到问题。

这是我的代码:

users = __apply_filters(User.objects.all(), request)
users = users.extra({
    'month': 'month(created)',
    'year': 'year(created)'
}).values('year', 'month').annotate(dcount=Count('created', distinct=True))

在__apply_filters函数中,我根据一些过滤器过滤数据。

运行1.6项目时,我得到了这个结果:

[{'month': 11L, 'dcount': 4, 'year': 2015L}]

运行1.8项目时,我得到了这个结果(使用相同的输入数据):

[{'month': 11L, 'dcount': 1, 'year': 2015L}, {'month': 11L, 'dcount': 1, 'year': 2015L}, {'month': 11L, 'dcount': 1, 'year': 2015L}, {'month': 11L, 'dcount': 1, 'year': 2015L}]

显然,这显示错误的数据。

我要提到的是我的DataBase是MySQL。我需要这种聚合,因为我有日期过滤和显示时间轴的各种图表。

有没有人遇到过这样的问题?

谢谢!

0 个答案:

没有答案