mirror of
https://github.com/clearml/clearml-server
synced 2025-03-03 18:54:20 +00:00
Support datetime ranges in field queries
This commit is contained in:
parent
9c118d14e0
commit
7772f47773
@ -368,18 +368,27 @@ class GetMixin(PropsMixin):
|
|||||||
if data is not None:
|
if data is not None:
|
||||||
if not isinstance(data, list):
|
if not isinstance(data, list):
|
||||||
data = [data]
|
data = [data]
|
||||||
for d in data: # type: str
|
# date time fields also support simplified range queries. Check if this is the case
|
||||||
m = ACCESS_REGEX.match(d)
|
if len(data) == 2 and not any(
|
||||||
if not m:
|
d.startswith(mod)
|
||||||
continue
|
for d in data
|
||||||
try:
|
if d is not None
|
||||||
value = parse_datetime(m.group("value"))
|
for mod in ACCESS_MODIFIER
|
||||||
prefix = m.group("prefix")
|
):
|
||||||
modifier = ACCESS_MODIFIER.get(prefix)
|
query &= cls.get_range_field_query(field, data)
|
||||||
f = field if not modifier else "__".join((field, modifier))
|
else:
|
||||||
dict_query[f] = value
|
for d in data: # type: str
|
||||||
except (ValueError, OverflowError):
|
m = ACCESS_REGEX.match(d)
|
||||||
pass
|
if not m:
|
||||||
|
continue
|
||||||
|
try:
|
||||||
|
value = parse_datetime(m.group("value"))
|
||||||
|
prefix = m.group("prefix")
|
||||||
|
modifier = ACCESS_MODIFIER.get(prefix)
|
||||||
|
f = field if not modifier else "__".join((field, modifier))
|
||||||
|
dict_query[f] = value
|
||||||
|
except (ValueError, OverflowError):
|
||||||
|
pass
|
||||||
|
|
||||||
for field, value in parameters.items():
|
for field, value in parameters.items():
|
||||||
for keys, func in cls._multi_field_param_prefix.items():
|
for keys, func in cls._multi_field_param_prefix.items():
|
||||||
|
Loading…
Reference in New Issue
Block a user