From 76f1ba405c417af042d6ebafc69e919e35589a91 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Thu, 6 Dec 2018 16:40:59 +0000 Subject: [PATCH] =?UTF-8?q?hosts:=20GetHostsByManagerAndRegion():=20sql?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/compute/models/hosts.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkg/compute/models/hosts.go b/pkg/compute/models/hosts.go index 44f30955c7..e4900d322d 100644 --- a/pkg/compute/models/hosts.go +++ b/pkg/compute/models/hosts.go @@ -1978,12 +1978,10 @@ func (self *SHost) GetDetailsIpmi(ctx context.Context, userCred mcclient.TokenCr } func (manager *SHostManager) GetHostsByManagerAndRegion(managerId string, regionId string) []SHost { - hosts := HostManager.Query().SubQuery() - zones := ZoneManager.Query().SubQuery() - q := hosts.Query() - q = q.Join(zones, sqlchemy.Equals(hosts.Field("zone_id"), zones.Field("id"))) - q = q.Filter(sqlchemy.Equals(hosts.Field("manager_id"), managerId)) - q = q.Filter(sqlchemy.Equals(zones.Field("cloudregion_id"), regionId)) + zones := ZoneManager.Query().Equals("cloudregion_id", regionId).SubQuery() + hosts := HostManager.Query() + q := hosts.Equals("manager_id", managerId) + q = q.Join(zones, sqlchemy.Equals(zones.Field("id"), hosts.Field("zone_id"))) ret := make([]SHost, 0) err := db.FetchModelObjects(HostManager, q, &ret) if err != nil {