Python Django使用sqlite3测试骨料
我正在使用Django查询集进行一些聚合,这些查询集在MySQL后端上运行良好。当我在queryset中运行以下代码进行聚合时:Python Django使用sqlite3测试骨料,python,mysql,django,sqlite,django-testing,Python,Mysql,Django,Sqlite,Django Testing,我正在使用Django查询集进行一些聚合,这些查询集在MySQL后端上运行良好。当我在queryset中运行以下代码进行聚合时: agg = myqueryset.values('name', 'category').annotate(Sum('quantity')) 使用MySQL,我得到: [{'name': u'My Name', 'category': 21L, 'quantity__sum': 10}] 当我对sqlite3内存数据库使用Django的TestCase或Django
agg = myqueryset.values('name', 'category').annotate(Sum('quantity'))
使用MySQL,我得到:
[{'name': u'My Name', 'category': 21L, 'quantity__sum': 10}]
当我对sqlite3内存数据库使用Django的TestCase或Django webtest运行相同的代码时,我得到以下结果:
[{'name': u'My Name', 'category': 21, 'quantity__sum': 3}, {'name': u'My Name', 'category': 21, 'quantity__sum': 7}]
我能看到的唯一区别是,category(碰巧是一个FK)在使用MySQL输出时报告为21L,在sqlite3测试期间输出时报告为21。关于为什么聚合不能与我的测试一起工作,但在针对MySQL的视图中调用相同的代码时工作良好,有什么想法吗