Django使用sqlite3测试聚合

时间:2013-08-27 18:57:52

标签: python mysql django sqlite django-testing

我正在使用Django查询集进行一些聚合,这些查询集对MySQL后端工作正常。当我运行以下代码以在整个查询集中聚合时:

agg = myqueryset.values('name', 'category').annotate(Sum('quantity'))

使用MySQL,我得到:

[{'name': u'My Name', 'category': 21L, 'quantity__sum': 10}]

当我使用Django的TestCase或django-webtest对sqlite3运行相同的代码时,在内存数据库中,我得到以下内容:

[{'name': u'My Name', 'category': 21, 'quantity__sum': 3}, {'name': u'My Name', 'category': 21, 'quantity__sum': 7}]

我能看到的唯一区别是碰巧是FK的类别在使用MySQL输出时报告为21L,在sqlite3测试期间输出时报告为21。关于为什么聚合不能与我的测试一起工作的任何想法,但是当从针对MySQL的视图调用相同的代码时工作正常?

0 个答案:

没有答案