diff --git a/pkg/cloudcommon/db/db_dispatcher.go b/pkg/cloudcommon/db/db_dispatcher.go index 4837bd9545..956d2f9223 100644 --- a/pkg/cloudcommon/db/db_dispatcher.go +++ b/pkg/cloudcommon/db/db_dispatcher.go @@ -829,8 +829,6 @@ func getModelItemDetails(manager IModelManager, item IModel, ctx context.Context func getItemDetails(manager IModelManager, item IModel, ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (jsonutils.JSONObject, error) { metaFields, excludeFields := GetDetailFields(manager, userCred) fieldFilter := jsonutils.GetQueryStringArray(query, "field") - getFields := mergeFields(metaFields, fieldFilter, IsAllowGet(rbacutils.ScopeSystem, userCred, item)) - excludes, _, _ := stringutils2.Split(stringutils2.NewSortedStrings(excludeFields), getFields) var sortedListFields stringutils2.SSortedStrings if len(fieldFilter) > 0 { @@ -841,6 +839,8 @@ func getItemDetails(manager IModelManager, item IModel, ctx context.Context, use return nil, errors.Wrap(err, "FetchCustomizeColumns") } if len(extraRows) == 1 { + getFields := mergeFields(metaFields, fieldFilter, IsAllowGet(rbacutils.ScopeSystem, userCred, item)) + excludes, _, _ := stringutils2.Split(stringutils2.NewSortedStrings(excludeFields), getFields) return extraRows[0].CopyExcludes(excludes...), nil } log.Errorf("FetchCustomizeColumns return incorrect number of objects %d", len(extraRows))