From 7324572cb9052cbe4f143c5b8fee6ba657b87036 Mon Sep 17 00:00:00 2001 From: TangBin Date: Mon, 4 Mar 2019 15:18:10 +0800 Subject: [PATCH] private sku query fix --- pkg/compute/models/skus.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/compute/models/skus.go b/pkg/compute/models/skus.go index 91bb607419..e6576b0692 100644 --- a/pkg/compute/models/skus.go +++ b/pkg/compute/models/skus.go @@ -590,9 +590,7 @@ func (manager *SServerSkuManager) ListItemFilter(ctx context.Context, q *sqlchem } regionTable := CloudregionManager.Query().SubQuery() - zoneTable := ZoneManager.Query().SubQuery() q = q.Join(regionTable, sqlchemy.Equals(regionTable.Field("id"), q.Field("cloudregion_id"))) - q = q.Join(zoneTable, sqlchemy.Equals(zoneTable.Field("id"), q.Field("zone_id"))) // region filter regionStr := jsonutils.GetAnyString(query, []string{"region", "cloudregion", "region_id", "cloudregion_id"}) @@ -609,7 +607,9 @@ func (manager *SServerSkuManager) ListItemFilter(ctx context.Context, q *sqlchem zoneStr := jsonutils.GetAnyString(query, []string{"zone", "zone_id"}) var zoneObj db.IModel - if len(zoneStr) > 0 { + if (public_cloud || len(provider) > 0) && len(zoneStr) > 0 { + zoneTable := ZoneManager.Query().SubQuery() + q = q.Join(zoneTable, sqlchemy.Equals(zoneTable.Field("id"), q.Field("zone_id"))) zoneObj, err = ZoneManager.FetchByIdOrName(nil, zoneStr) if err != nil { if err == sql.ErrNoRows {