mirror of
https://github.com/clearml/clearml-server
synced 2025-03-03 10:43:10 +00:00
Fix API enum fields and add last_iteration to range queries
This commit is contained in:
parent
7a4a5eb03e
commit
78e4a58c91
@ -218,7 +218,7 @@ class ActualEnumField(fields.StringField):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def parse_value(self, value):
|
def parse_value(self, value):
|
||||||
if value is NotSet and not self.required:
|
if value in (NotSet, None) and not self.required:
|
||||||
return self.get_default_value()
|
return self.get_default_value()
|
||||||
try:
|
try:
|
||||||
# noinspection PyArgumentList
|
# noinspection PyArgumentList
|
||||||
|
@ -78,6 +78,7 @@ class GetMixin(PropsMixin):
|
|||||||
MultiFieldParameters = namedtuple("MultiFieldParameters", "pattern fields")
|
MultiFieldParameters = namedtuple("MultiFieldParameters", "pattern fields")
|
||||||
|
|
||||||
_field_collation_overrides = {}
|
_field_collation_overrides = {}
|
||||||
|
_numeric_collation = {"locale": "en_US", "numericOrdering": True}
|
||||||
|
|
||||||
class QueryParameterOptions(object):
|
class QueryParameterOptions(object):
|
||||||
def __init__(
|
def __init__(
|
||||||
@ -708,16 +709,21 @@ class GetMixin(PropsMixin):
|
|||||||
if res:
|
if res:
|
||||||
query_sets = [cls.objects(q) for q in res]
|
query_sets = [cls.objects(q) for q in res]
|
||||||
query_sets = [qs.order_by(*order_by) for qs in query_sets]
|
query_sets = [qs.order_by(*order_by) for qs in query_sets]
|
||||||
if order_field:
|
# if order_field:
|
||||||
collation_override = first(
|
# collation_override = first(
|
||||||
v
|
# v
|
||||||
for k, v in cls._field_collation_overrides.items()
|
# for k, v in cls._field_collation_overrides.items()
|
||||||
if order_field.startswith(k)
|
# if order_field.startswith(k)
|
||||||
)
|
# )
|
||||||
if collation_override:
|
# if collation_override:
|
||||||
query_sets = [
|
# query_sets = [
|
||||||
qs.collation(collation=collation_override) for qs in query_sets
|
# qs.collation(collation=collation_override) for qs in query_sets
|
||||||
]
|
# ]
|
||||||
|
|
||||||
|
# always use numeric collation
|
||||||
|
query_sets = [
|
||||||
|
qs.collation(collation=cls._numeric_collation) for qs in query_sets
|
||||||
|
]
|
||||||
|
|
||||||
if search_text:
|
if search_text:
|
||||||
query_sets = [qs.search_text(search_text) for qs in query_sets]
|
query_sets = [qs.search_text(search_text) for qs in query_sets]
|
||||||
|
@ -197,7 +197,7 @@ class Task(AttributedDocument):
|
|||||||
"project",
|
"project",
|
||||||
"parent",
|
"parent",
|
||||||
),
|
),
|
||||||
range_fields=("started", "active_duration", "last_metrics.*"),
|
range_fields=("started", "active_duration", "last_metrics.*", "last_iteration"),
|
||||||
datetime_fields=("status_changed", "last_update"),
|
datetime_fields=("status_changed", "last_update"),
|
||||||
pattern_fields=("name", "comment"),
|
pattern_fields=("name", "comment"),
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user