mirror of
https://github.com/clearml/clearml-server
synced 2025-02-07 13:33:42 +00:00
Fix Task container raises validation error on null values
This commit is contained in:
parent
d324b57dd7
commit
f34332344e
@ -176,6 +176,13 @@ class SafeMapField(MapField, DictValidationMixin):
|
|||||||
self.error("Empty keys are not allowed in a MapField")
|
self.error("Empty keys are not allowed in a MapField")
|
||||||
|
|
||||||
|
|
||||||
|
class NullableStringField(StringField):
|
||||||
|
def validate(self, value):
|
||||||
|
if value is None:
|
||||||
|
return
|
||||||
|
super(NullableStringField, self).validate(value)
|
||||||
|
|
||||||
|
|
||||||
class SafeDictField(DictField, DictValidationMixin):
|
class SafeDictField(DictField, DictValidationMixin):
|
||||||
def validate(self, value):
|
def validate(self, value):
|
||||||
self._safe_validate(value)
|
self._safe_validate(value)
|
||||||
|
@ -18,6 +18,7 @@ from apiserver.database.fields import (
|
|||||||
UnionField,
|
UnionField,
|
||||||
SafeSortedListField,
|
SafeSortedListField,
|
||||||
EmbeddedDocumentListField,
|
EmbeddedDocumentListField,
|
||||||
|
NullableStringField,
|
||||||
)
|
)
|
||||||
from apiserver.database.model import AttributedDocument
|
from apiserver.database.model import AttributedDocument
|
||||||
from apiserver.database.model.base import ProperDictMixin, GetMixin
|
from apiserver.database.model.base import ProperDictMixin, GetMixin
|
||||||
@ -260,7 +261,7 @@ class Task(AttributedDocument):
|
|||||||
configuration = SafeMapField(field=EmbeddedDocumentField(ConfigurationItem))
|
configuration = SafeMapField(field=EmbeddedDocumentField(ConfigurationItem))
|
||||||
runtime = SafeDictField(default=dict)
|
runtime = SafeDictField(default=dict)
|
||||||
models: Models = EmbeddedDocumentField(Models, default=Models)
|
models: Models = EmbeddedDocumentField(Models, default=Models)
|
||||||
container = SafeMapField(field=StringField(default=""))
|
container = SafeMapField(field=NullableStringField())
|
||||||
enqueue_status = StringField(
|
enqueue_status = StringField(
|
||||||
choices=get_options(TaskStatus), exclude_by_default=True
|
choices=get_options(TaskStatus), exclude_by_default=True
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user