changeset 89c0a05e8d4b in trytond:default details: https://hg.tryton.org/trytond?cmd=changeset&node=89c0a05e8d4b description: Search and get keys in one request for Dict fields
issue10332 review349751003 diffstat: CHANGELOG | 1 + trytond/model/dictschema.py | 6 ++++++ 2 files changed, 7 insertions(+), 0 deletions(-) diffs (31 lines): diff -r c433e259ed6a -r 89c0a05e8d4b CHANGELOG --- a/CHANGELOG Tue May 18 22:34:43 2021 +0200 +++ b/CHANGELOG Wed May 19 15:41:39 2021 +0200 @@ -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 -r c433e259ed6a -r 89c0a05e8d4b trytond/model/dictschema.py --- a/trytond/model/dictschema.py Tue May 18 22:34:43 2021 +0200 +++ b/trytond/model/dictschema.py Wed May 19 15:41:39 2021 +0200 @@ -91,6 +91,7 @@ super(DictSchemaMixin, cls).__setup__() cls.__rpc__.update({ 'get_keys': RPC(instantiate=0), + 'search_get_keys': RPC(), }) @staticmethod @@ -179,6 +180,11 @@ 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): return {}