Fix regex query for fields containing "_"

This commit is contained in:
allegroai 2021-05-03 18:13:00 +03:00
parent 1cef03b8c2
commit e18b21639c

View File

@ -306,6 +306,13 @@ 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
if any("._" in f for f in data.fields):
q = reduce(
lambda a, x: func(a, Q(__raw__={x: {"$regex": data.pattern, "$options": "i"}})),
data.fields,
Q()
)
else:
regex = RegexWrapper(data.pattern, flags=re.IGNORECASE) regex = RegexWrapper(data.pattern, flags=re.IGNORECASE)
sep_fields = [f.replace(".", "__") for f in data.fields] sep_fields = [f.replace(".", "__") for f in data.fields]
q = reduce( q = reduce(