def _del_data_admin(appname, modelname, items): status = 0 delete_success = [] delete_failed = [] Model_Class = classing_model(modelname) upload_table = get_upload_table(modelname) Local_db = ArmoryMongo[_LOCAL] for item in items: rawid = item.get('id') item_local = Local_db[upload_table].find_one( {"id": rawid}, fields={"_id": 0}) if item_local: status = ONLINE_DATA_UNDELETE delete_failed.append(item) _LOGGER.error("id:%d should delete from local first" % rawid) else: release_rule(appname, modelname, rawid) model_dict = Model_Class.find_one(appname, {'id': rawid}) _LOGGER.info(model_dict) CommonBase.dec_icon(appname, modelname, model_dict, rawid) # de referenced icon and rule delete_success.append(model_dict) Model_Class.remove(appname, {"id": rawid}) _LOGGER.info("id:%d delete from admin success", rawid) return status, delete_success, delete_failed