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

Reply via email to