From b6bf82de3d7f37f3c22fe872908ce6db51477e78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 19 Jul 2023 22:02:49 +0200 Subject: [PATCH] Do not uniquely sort list in Dict field without schema When there is no schema, the list values are not for a MultiSelection entry. Closes #12417 (grafted from aedd6a22eabc62538664c0127739ac02acd8f429) --HG-- branch : 6.0 --- trytond/trytond/model/fields/dict.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/trytond/trytond/model/fields/dict.py b/trytond/trytond/model/fields/dict.py index 30f7abd7d1..992cf4da0b 100644 --- a/trytond/trytond/model/fields/dict.py +++ b/trytond/trytond/model/fields/dict.py @@ -71,7 +71,7 @@ class Dict(Field): for k, v in value.items(): if v is None: continue - if isinstance(v, list): + if self.schema_model and isinstance(v, (list, tuple)): v = list(sorted(set(v))) d[k] = v value = dumps(d) @@ -106,7 +106,7 @@ class Dict(Field): value = int(value) if isinstance(value, (Select, CombiningQuery)): return value - if isinstance(value, (list, tuple)): + if self.schema_model and isinstance(value, (list, tuple)): value = sorted(set(value)) if operator.endswith('in'): return [dumps(v) for v in value]