g更改标签:,前台要向后台传来 id, name,
对标签进行校验:标签不能为空,标签是否已经存在,
流程:
def put(self, request, tag_id): ''' 更改标签 :param request: :return: ''' # 拿到前台传来的参数 try: json_data = request.body if not json_data: return to_json_data(errno=Code.PARAMERR, errmsg=error_map[Code.PARAMERR]) except Exception as e: logging.info('错误信息:{}'.format(e) return to_json_data(errno=Code.UNKOWNERR, errmsg=error_map.[Code.UNKOWNERR]) # 将json转化为dict dict_data = json.loads(json_data.decode('utf8')) tag_name = dict_data.get('name') tag = models.Tag.objects.only().filter(id=tag_id).first() if tag: # 清洗去空格 if tag_name and tag_name.strip(): # 如果新命名的 name 在标签中不存在 if not models.Tag.objects.only('name').filter(name=tag_name).exists(): # 把新的 name 给存入 tag.name = tag_name tag.save(update_fields=['name']) # 优化措施 return to_json_data(errmsg='标签更改成功') else: return to_json_data(errno=Code.PARAMERR,errmsg='该标签已经存在') else: return to_json_data(errno=Code.PARAMERR,errmsg='标签名不能为空') else: return to_json_data(errno=Code.PARAMERR,errmsg='您要更改的标签不存在')