python: domain: models: add children method to return a models direct children
authorRob van der Linde <rob@catalyst.net.nz>
Mon, 25 Mar 2024 19:24:53 +0000 (08:24 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 28 Mar 2024 01:50:41 +0000 (01:50 +0000)
Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/domain/models/model.py

index 56dacc9ddb480a3d1c7095fcf6a14b540efd4fa1..d14a87f6a48615d581c4912d177d7e3337b73bb0 100644 (file)
@@ -24,7 +24,7 @@ import inspect
 
 from ldb import (ERR_NO_SUCH_OBJECT, FLAG_MOD_ADD, FLAG_MOD_REPLACE,
                  LdbError, Message, MessageElement, SCOPE_BASE,
-                 SCOPE_SUBTREE)
+                 SCOPE_ONELEVEL, SCOPE_SUBTREE)
 from samba.sd_utils import SDUtils
 
 from .constants import MODELS
@@ -318,6 +318,11 @@ class Model(metaclass=ModelMeta):
         else:
             return obj, False
 
+    def children(self, ldb):
+        """Returns a Query of the current models children."""
+        return Model.query(
+            ldb, base_dn=self.dn, scope=SCOPE_ONELEVEL, polymorphic=True)
+
     def save(self, ldb):
         """Save model to Ldb database.