【发布时间】:2015-11-20 16:53:12
【问题描述】:
我正在尝试如下注释某个模型:
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 获得了底层查询,并在两个数据库上运行它,并且再次,一个数据库很乐意执行这个查询,而另一个返回错误。
为什么会发生这种情况?据我所知,这些方案是相等的,但我怀疑两个数据库服务器的设置存在一些差异。数据库服务器一台在 MySQL 5.5.44 上运行,而另一台在 5.5.41 上运行。另一个需要注意的重要事情是,我正在使用来自国际化库 django-parler 的自定义管理器。
【问题讨论】:
标签: python mysql django django-orm