在某些情况下,注释会导致OperationalError“字段不在GROUP BY中”

时间:2015-08-26 15:03:21

标签: python mysql django django-orm

我试着按如下方式注释某个模型:

items = MyModel.objects.all()
aggregated_items = items.annotate(Max('othermodel__some_integer_field'))

检查aggregated_items时,我得到OperationalError

<repr(<parler.managers.TranslatableQuerySet at 0x7f69977066d0>) failed: django.db.utils.OperationalError: (1055, "'mydatabase.myapp_mymodel.some_unrelated_field' isn't in GROUP BY")>

奇怪的是,这在一个数据库服务器上完全正常,但在另一个数据库服务器上却没有。我已经通过connections.queries获取了基础查询并在两个数据库上运行它,并且一个数据库很乐意执行此查询,而另一个数据库返回错误。

为什么会发生这种情况?据我所知,方案是平等的,但我怀疑两个数据库服务器的设置有一些差异。数据库服务器1运行在MySQL 5.5.44上,而另一个运行在5.5.41上。另一个需要注意的重要事项是我正在使用国际化库django-parler中的自定义管理器。

0 个答案:

没有答案