mirror of
https://github.com/clearml/clearml-server
synced 2025-04-21 14:44:47 +00:00
Fix regex query for fields containing "_"
This commit is contained in:
parent
1cef03b8c2
commit
e18b21639c
@ -306,11 +306,18 @@ class GetMixin(PropsMixin):
|
|||||||
raise MakeGetAllQueryError("incorrect field format", field)
|
raise MakeGetAllQueryError("incorrect field format", field)
|
||||||
if not data.fields:
|
if not data.fields:
|
||||||
break
|
break
|
||||||
regex = RegexWrapper(data.pattern, flags=re.IGNORECASE)
|
if any("._" in f for f in data.fields):
|
||||||
sep_fields = [f.replace(".", "__") for f in data.fields]
|
q = reduce(
|
||||||
q = reduce(
|
lambda a, x: func(a, Q(__raw__={x: {"$regex": data.pattern, "$options": "i"}})),
|
||||||
lambda a, x: func(a, RegexQ(**{x: regex})), sep_fields, RegexQ()
|
data.fields,
|
||||||
)
|
Q()
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
regex = RegexWrapper(data.pattern, flags=re.IGNORECASE)
|
||||||
|
sep_fields = [f.replace(".", "__") for f in data.fields]
|
||||||
|
q = reduce(
|
||||||
|
lambda a, x: func(a, RegexQ(**{x: regex})), sep_fields, RegexQ()
|
||||||
|
)
|
||||||
query = query & q
|
query = query & q
|
||||||
|
|
||||||
return query & RegexQ(**dict_query)
|
return query & RegexQ(**dict_query)
|
||||||
|
Loading…
Reference in New Issue
Block a user