details:   https://code.tryton.org/tryton/commit/33c3f66deb6f
branch:    default
user:      Nicolas Évrard <[email protected]>
date:      Thu Mar 19 14:49:33 2026 +0100
description:
        Do not call the Function field getter when there's no ids to use it on

        Closes #14697
diffstat:

 trytond/trytond/model/modelsql.py |  19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diffs (29 lines):

diff -r 3c367a19f5df -r 33c3f66deb6f trytond/trytond/model/modelsql.py
--- a/trytond/trytond/model/modelsql.py Wed Mar 25 13:10:39 2026 +0100
+++ b/trytond/trytond/model/modelsql.py Thu Mar 19 14:49:33 2026 +0100
@@ -1345,15 +1345,16 @@
                         else:
                             for fname in field_list:
                                 row[fname] = cache[row['id']][fname]
-                    getter_results = field.get(
-                        sub_ids, cls, field_list, values=sub_values)
-                    for fname in field_list:
-                        getter_result = getter_results[fname]
-                        for row in sub_values:
-                            row[fname] = getter_result[row['id']]
-                            if (transaction.readonly
-                                    and not getter_with_context):
-                                cache[row['id']][fname] = row[fname]
+                    if sub_ids:
+                        getter_results = field.get(
+                            sub_ids, cls, field_list, values=sub_values)
+                        for fname in field_list:
+                            getter_result = getter_results[fname]
+                            for row in sub_values:
+                                row[fname] = getter_result[row['id']]
+                                if (transaction.readonly
+                                        and not getter_with_context):
+                                    cache[row['id']][fname] = row[fname]
 
         def read_related(field, Target, rows, fields):
             name = field.name

Reply via email to