From 0120f274f2e90cb0f3aeaf6f03f118a7d4557ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Wed, 19 May 2021 15:41:39 +0200 Subject: [PATCH] Search and get keys in one request for Dict fields issue10332 review349751003 --- CHANGELOG | 1 + trytond/model/dictschema.py | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index c2924c4b06..c710801080 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Combine search and get_keys in DictSchemaMixin * Make language code unique * Support base64 encoded data in ModelStorage.import_data * Add BOOL_AND and BOOL_OR to SQLite backend diff --git a/trytond/model/dictschema.py b/trytond/model/dictschema.py index a0ca8bb332..a4ca792f84 100644 --- a/trytond/model/dictschema.py +++ b/trytond/model/dictschema.py @@ -91,6 +91,7 @@ class DictSchemaMixin(object): super(DictSchemaMixin, cls).__setup__() cls.__rpc__.update({ 'get_keys': RPC(instantiate=0), + 'search_get_keys': RPC(), }) @staticmethod @@ -178,6 +179,11 @@ class DictSchemaMixin(object): keys.append(new_key) return keys + @classmethod + def search_get_keys(cls, domain, limit=None): + schemas = cls.search(domain, limit=limit) + return cls.get_keys(schemas) + @classmethod def get_relation_fields(cls): if not config.get('dict', cls.__name__, default=True):