diff --git a/jaseci_core/jaseci/prim/node.py b/jaseci_core/jaseci/prim/node.py index 730edb9ed1..a93d91f68a 100644 --- a/jaseci_core/jaseci/prim/node.py +++ b/jaseci_core/jaseci/prim/node.py @@ -61,7 +61,7 @@ def smart_build_fast_edge_ids(self): edge.jid = v[2] if len(v) > 2 else uuid.uuid4().urn edge.context = v[3] if len(v) > 3 else {} edge.save() - self._fast_edge_ids.add_obj(edge) + self._fast_edge_ids.add_obj(edge, bypass=True) def smart_add_edge(self, obj): # make sure fast edges built diff --git a/jaseci_core/jaseci/utils/id_list.py b/jaseci_core/jaseci/utils/id_list.py index 2d3821e597..13ca3e3ac7 100644 --- a/jaseci_core/jaseci/utils/id_list.py +++ b/jaseci_core/jaseci/utils/id_list.py @@ -27,7 +27,9 @@ def __init__(self, parent_obj, auto_save=True, in_list=None): def cache_reset(self): self.cached_objects = [] - def add_obj(self, obj, push_front=False, allow_dups=False, silent=False): + def add_obj( + self, obj, push_front=False, allow_dups=False, silent=False, bypass=False + ): """Adds a obj obj to Jaseci object""" self.parent_obj.check_hooks_match(obj) if not allow_dups and obj.jid in self: @@ -39,10 +41,12 @@ def add_obj(self, obj, push_front=False, allow_dups=False, silent=False): self.insert(0, obj.jid) else: self.append(obj.jid) - if not obj.j_parent: - obj.j_parent = self.parent_obj.jid - self.save(obj) - self.save() + + if not bypass: + if not obj.j_parent: + obj.j_parent = self.parent_obj.jid + self.save(obj) + self.save() def add_obj_list(self, obj_list, push_front=False, allow_dups=False, silent=False): self.cache_reset()