def save(self, user, role=None): data = self.data try: parent_name = data.pop('parent_name') except: parent_name = None data.update({'user_id': user.id}) node = Node(**data).save() if not parent_name: if not NodeNode.get(parent_id=1, child_id=node.id): NodeNode(parent_id=1, child_id=node.id).save() else: for name in parent_name: parent = Node.get(name=name) if parent: if not NodeNode.get(parent_id=parent.id, child_id=node.id): NodeNode(parent_id=parent.id, child_id=node.id).save() return node
def save(self, user, role=None, node=None): data = self.data try: parent_name = data.pop('parent_name') except: parent_name = None data.update({'user_id': user.id}) nns = NodeNode.select(lambda rv: rv.child_id == node.id) for nn in nns: nn.remove() if not parent_name: if not NodeNode.get(parent_id=1, child_id=node.id): NodeNode(parent_id=1, child_id=node.id).save() else: for name in parent_name: parent = Node.get(name=unicode(name)) if parent: if not NodeNode.get(parent_id=parent.id, child_id=node.id): NodeNode(parent_id=parent.id, child_id=node.id).save() node = node.update(data) return node