diff --git a/pkg/compute/models/cloudproviders.go b/pkg/compute/models/cloudproviders.go index 41f55dcbae..d7fe08407c 100644 --- a/pkg/compute/models/cloudproviders.go +++ b/pkg/compute/models/cloudproviders.go @@ -1209,6 +1209,10 @@ func (manager *SCloudproviderManager) ListItemFilter( if err != nil { return nil, errors.Wrap(err, "SEnabledStatusStandaloneResourceBaseManager.ListItemFilter") } + q, err = manager.SProjectizedResourceBaseManager.ListItemFilter(ctx, q, userCred, query.ProjectizedResourceListInput) + if err != nil { + return nil, errors.Wrapf(err, "SProjectizedResourceBaseManager.ListItemFilter") + } q, err = manager.SSyncableBaseResourceManager.ListItemFilter(ctx, q, userCred, query.SyncableBaseResourceListInput) if err != nil { return nil, errors.Wrap(err, "SSyncableBaseResourceManager.ListItemFilter") @@ -1310,6 +1314,13 @@ func (manager *SCloudproviderManager) QueryDistinctExtraField(q *sqlchemy.SQuery return q, nil } + if field == "account" { + accounts := CloudaccountManager.Query("name", "id").SubQuery() + q.AppendField(accounts.Field("name", field)).Distinct() + q = q.Join(accounts, sqlchemy.Equals(q.Field("cloudaccount_id"), accounts.Field("id"))) + return q, nil + } + q, err = manager.SEnabledStatusStandaloneResourceBaseManager.QueryDistinctExtraField(q, field) if err == nil { return q, nil