def huiyuanchongzhi_save(request): ''' 后台新增 ''' if request.method in ["POST", "GET"]: msg = {"code": normal_code, "msg": mes.normal_code, "data": {}} req_dict = request.session.get("req_dict") if 'clicktime' in req_dict.keys(): del req_dict['clicktime'] tablename=request.session.get("tablename") __isAdmin__ = None allModels = apps.get_app_config('main').get_models() for m in allModels: if m.__tablename__==tablename: try: __isAdmin__ = m.__isAdmin__ except: __isAdmin__ = None break #获取全部列名 columns= huiyuanchongzhi.getallcolumn( huiyuanchongzhi, huiyuanchongzhi) if tablename!='users' and req_dict.get("userid")!=None and 'userid' in columns and __isAdmin__!='是': params=request.session.get("params") req_dict['userid']=params.get('id') if 'addtime' in req_dict.keys(): del req_dict['addtime'] error= huiyuanchongzhi.createbyreq(huiyuanchongzhi,huiyuanchongzhi, req_dict) if error!=None: msg['code'] = crud_error_code msg['msg'] = error return JsonResponse(msg)
时间: 2024-02-14 22:20:16 浏览: 133
这段代码是一个 Django 后台新增功能的视图函数。它接收一个 HTTP 请求,如果请求方法是 POST 或 GET,就会创建一个空的字典 msg 作为响应,然后从 session 中获取请求参数 req_dict 和表名 tablename。接下来,通过 Django 的 apps.get_app_config 函数获取当前应用程序中的所有模型,再通过循环找到与 tablename 对应的模型,并从模型中获取是否为管理员的信息 __isAdmin__。然后,通过调用 huiyuanchongzhi 模型的 getallcolumn 函数获取该模型的所有列名,并检查当前用户是否为管理员或者该表不存在用户id列。如果不是管理员或不存在用户id列,则从 session 中获取参数 params 并将其添加到请求字典中。最后,它调用 huiyuanchongzhi 模型的 createbyreq 函数将请求字典中的数据保存到数据库中,并将保存结果添加到响应字典中并返回。
阅读全文