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