def update_org(cls, org_id, params): _params = {p: params[p] for p in params if p in Role.field_names()} with db: if 'parent' in params and params['parent']: o: Org = Org.select().where(Org.id == org_id).first() if o.parent != params['parent']: OrgOrg.delete().where(OrgOrg.org_id == org_id) oo: OrgOrg = OrgOrg(org_id=org_id, parent=params['parent']) oo.save(force_insert=True) oo_list = OrgOrg.select().where( OrgOrg.org_id == params['parent']) for oo in oo_list: OrgOrg(org_id=org_id, parent=oo.parent).save(force_insert=True) Org.update(**_params).where(Org.id == org_id).execute()
def update_role(cls, role_id, params): _params = {p: params[p] for p in params if p in Role.field_names()} with db: if 'parent' in params and params['parent']: r: Role = Role.select().where(Role.id == role_id).first() if r.parent != params['parent']: RoleExtend.delete().where(RoleExtend.role_id == role_id) re: RoleExtend = RoleExtend(role_id=role_id, parent=params['parent']) re.save(force_insert=True) re_list = RoleExtend.select().where( RoleExtend.role_id == params['parent']) for re in re_list: RoleExtend(role_id=role_id, parent=re.parent).save(force_insert=True) Role.update(**_params).where(Role.id == role_id).execute()