mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
hosts: GetHostsByManagerAndRegion(): sql调整
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user