From df765aee832c283edc79b6ab7da764cde89e61df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 26 Mar 2026 18:00:24 +0100 Subject: [PATCH] Do not use relation field from default order when fetching One2Many records The records are already ordered by the field id to be grouped later so such order clause has no impact on the result. But they require joins that may not be needed otherwise. Closes #14716 --- trytond/trytond/model/fields/one2many.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/trytond/trytond/model/fields/one2many.py b/trytond/trytond/model/fields/one2many.py index 4559095fa1..e5d74201ab 100644 --- a/trytond/trytond/model/fields/one2many.py +++ b/trytond/trytond/model/fields/one2many.py @@ -154,7 +154,9 @@ class One2Many(Field): if self.order: order += self.order elif Target._order: - order += Target._order + order += [ + (oexpr, otype) for oexpr, otype in Target._order + if not oexpr.startswith(f'{self.field}.')] if reference_key: references = ['%s,%s' % (model.__name__, x) for x in ids] clause = [(self.field, 'in', references)]