mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-21 14:19:49 +08:00
Merge pull request #12052 from zexi/automated-cherry-pick-of-#12050-upstream-release-3.8
Automated cherry pick of #12050: fix(glance): image fuzzy match by distro
This commit is contained in:
@@ -1271,11 +1271,14 @@ func (manager *SImageManager) ListItemFilter(
|
||||
propQ := ImagePropertyManager.Query().In("name", nameKeys)
|
||||
conds := make([]sqlchemy.ICondition, 0)
|
||||
for _, val := range vals {
|
||||
conds = append(conds, sqlchemy.Like(propQ.Field("value"), val))
|
||||
field := propQ.Field("value")
|
||||
conds = append(conds,
|
||||
sqlchemy.Like(field, val),
|
||||
sqlchemy.Contains(field, val))
|
||||
}
|
||||
propQ.Filter(sqlchemy.OR(conds...))
|
||||
propSq := propQ.SubQuery()
|
||||
q = q.Join(propSq, sqlchemy.Equals(q.Field("id"), propSq.Field("image_id")))
|
||||
q = q.Join(propSq, sqlchemy.Equals(q.Field("id"), propSq.Field("image_id"))).Distinct()
|
||||
}
|
||||
propFilter([]string{api.IMAGE_OS_TYPE}, query.OsTypes)
|
||||
propFilter([]string{api.IMAGE_OS_DISTRO, "distro"}, query.Distributions)
|
||||
|
||||
Reference in New Issue
Block a user