def post(self, *args, **kwargs): '''新增project''' ret = dict(status=True, msg=None, data=None) try: data = json.loads(self.request.body.decode("utf-8")) name = data.get("name") desc = data.get("desc") app_list = data.get("app") #env_list = data.get("env") owner_list = data.get("owner") cuser_id = data.get("cuser_id") print(app_list) check = [name, app_list, owner_list, cuser_id] if not all(check): ret['msg'] = '必要字段不能为空' return self.write(ret) #raise Exception with DBContext('default') as session: obj = Project(name=name, desc=desc, cuser_id=cuser_id) obj.app = session.query(App).filter(App.id.in_(app_list)).all() #obj.env = session.query(Env).filter(Env.id.in_(env_list)).all() obj.owner = session.query(User).filter( User.id.in_(owner_list)).all() session.add(obj) session.commit() ret['data'] = model_to_dict(obj) ret['msg'] = '新增资源成功' except Exception as e: print(e) ret['status'] = False if not ret['msg']: ret['msg'] = str(e) self.write(ret)