def delete_with_share(self, tb_id, field_id): """ 删除字段,并从分配表中也将分配的字段移除 """ result = self._delete({Field.TB_ID: tb_id, Field.FIELD_ID: field_id}) if result: share_model = Share() shares = share_model.get({Share.TB_ID: tb_id}, (Share.SH_ID, Share.COL_FILTER)) for share_info in shares: share_info[Share.COL_FILTER] = json.loads( share_info[Share.COL_FILTER]) if field_id in share_info[Share.COL_FILTER]: share_info[Share.COL_FILTER].remove(field_id) share_model._update( {Share.SH_ID: share_info[Share.SH_ID]}, {Share.COL_FILTER: share_info[Share.COL_FILTER]}) return result