I am trying to create a hosted feature layer view that contains 2 out of 3 layers in a service. When I run create_view, my view is created correctly with 2 layers, but for some reason it is effecting the source item as well. When I go to the source item page, I only see two layers listed, however, all 3 layers are still listed if I look at the service URL. Not sure what's going on here, if I create a second view with different layers, the source item returns to normal.
## get feature service
source_item = portal.content.get("9ab20e7f7f7d4a89b0d6c053a03e6305")
# Get a FeatureLayerCollection from the item
source_flc = FeatureLayerCollection.fromitem(source_item)
# Create dict of layers in service name:url
layer_lookup = {
lyr.properties.name: lyr
for lyr in source_flc.layers
}
# Configuration for each layer in the new view
layer_configs = {
"Tracks": {
"query": "inspection_year = '2025'",
"hidden_fields": ["agency", "updates_req"]
}
,
"Clubs": {
"query": "insp_years = 'Even'",
"hidden_fields": ["closed_miles"]
}
}
# Use dict keys from layer_config to get service URL to use in view_layers, this defines which layers are included
view_layers = [
layer_lookup[name] for name in layer_configs.keys()
]
# Create the view layer
vw_name = "2025_Inspection_Tracks"
view_capabilities = "Query,Create,Update,Delete,Editing,Sync"
view_item = source_flc.manager.create_view(name=vw_name
, view_layers=view_layers
)