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):
|
||||
if value is NotSet and not self.required:
|
||||
if value in (NotSet, None) and not self.required:
|
||||
return self.get_default_value()
|
||||
try:
|
||||
# noinspection PyArgumentList
|
||||
|
@ -78,6 +78,7 @@ class GetMixin(PropsMixin):
|
||||
MultiFieldParameters = namedtuple("MultiFieldParameters", "pattern fields")
|
||||
|
||||
_field_collation_overrides = {}
|
||||
_numeric_collation = {"locale": "en_US", "numericOrdering": True}
|
||||
|
||||
class QueryParameterOptions(object):
|
||||
def __init__(
|
||||
@ -708,16 +709,21 @@ class GetMixin(PropsMixin):
|
||||
if res:
|
||||
query_sets = [cls.objects(q) for q in res]
|
||||
query_sets = [qs.order_by(*order_by) for qs in query_sets]
|
||||
if order_field:
|
||||
collation_override = first(
|
||||
v
|
||||
for k, v in cls._field_collation_overrides.items()
|
||||
if order_field.startswith(k)
|
||||
)
|
||||
if collation_override:
|
||||
query_sets = [
|
||||
qs.collation(collation=collation_override) for qs in query_sets
|
||||
]
|
||||
# if order_field:
|
||||
# collation_override = first(
|
||||
# v
|
||||
# for k, v in cls._field_collation_overrides.items()
|
||||
# if order_field.startswith(k)
|
||||
# )
|
||||
# if collation_override:
|
||||
# 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:
|
||||
query_sets = [qs.search_text(search_text) for qs in query_sets]
|
||||
|
@ -197,7 +197,7 @@ class Task(AttributedDocument):
|
||||
"project",
|
||||
"parent",
|
||||
),
|
||||
range_fields=("started", "active_duration", "last_metrics.*"),
|
||||
range_fields=("started", "active_duration", "last_metrics.*", "last_iteration"),
|
||||
datetime_fields=("status_changed", "last_update"),
|
||||
pattern_fields=("name", "comment"),
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user