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 {}