mirror of
https://github.com/clearml/clearml-server
synced 2025-02-01 03:16:44 +00:00
57 lines
2.1 KiB
Python
57 lines
2.1 KiB
Python
|
from mongoengine import Document, StringField, DateTimeField, ListField, BooleanField
|
||
|
|
||
|
from database import Database, strict
|
||
|
from database.fields import SupportedURLField, StrippedStringField, SafeDictField
|
||
|
from database.model import DbModelMixin
|
||
|
from database.model.model_labels import ModelLabels
|
||
|
from database.model.company import Company
|
||
|
from database.model.project import Project
|
||
|
from database.model.task.task import Task
|
||
|
from database.model.user import User
|
||
|
|
||
|
|
||
|
class Model(DbModelMixin, Document):
|
||
|
meta = {
|
||
|
'db_alias': Database.backend,
|
||
|
'strict': strict,
|
||
|
'indexes': [
|
||
|
{
|
||
|
'name': '%s.model.main_text_index' % Database.backend,
|
||
|
'fields': [
|
||
|
'$name',
|
||
|
'$id',
|
||
|
'$comment',
|
||
|
'$parent',
|
||
|
'$task',
|
||
|
'$project',
|
||
|
],
|
||
|
'default_language': 'english',
|
||
|
'weights': {
|
||
|
'name': 10,
|
||
|
'id': 10,
|
||
|
'comment': 10,
|
||
|
'parent': 5,
|
||
|
'task': 3,
|
||
|
'project': 3,
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
}
|
||
|
|
||
|
id = StringField(primary_key=True)
|
||
|
name = StrippedStringField(user_set_allowed=True, min_length=3)
|
||
|
parent = StringField(reference_field='Model', required=False)
|
||
|
user = StringField(required=True, reference_field=User)
|
||
|
company = StringField(required=True, reference_field=Company)
|
||
|
project = StringField(reference_field=Project, user_set_allowed=True)
|
||
|
created = DateTimeField(required=True, user_set_allowed=True)
|
||
|
task = StringField(reference_field=Task)
|
||
|
comment = StringField(user_set_allowed=True)
|
||
|
tags = ListField(StringField(required=True), user_set_allowed=True)
|
||
|
uri = SupportedURLField(default='', user_set_allowed=True)
|
||
|
framework = StringField()
|
||
|
design = SafeDictField()
|
||
|
labels = ModelLabels()
|
||
|
ready = BooleanField(required=True)
|
||
|
ui_cache = SafeDictField(default=dict, user_set_allowed=True, exclude_by_default=True)
|