-
Notifications
You must be signed in to change notification settings - Fork 0
/
models.py
57 lines (45 loc) · 1.38 KB
/
models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
from django.db import models
import mongoengine as m
# Create your models here.
class Variable(m.Document):
basename = m.StringField()
name = m.StringField()
long_name = m.StringField()
meta = {
"indexes" : ['basename','name']
}
class ModelRun(m.Document):
when = m.DateTimeField()
name = m.StringField(unique=True)
version = m.StringField()
hold = m.BooleanField(default=False)
meta = {
"indexes" : ['when','name'],
'db_alias' : 'cera'
}
def __unicode__(self):
return "{name}.{when}".format(name=self.name, when=self.when)
class DataArray(m.Document):
basename = m.StringField()
name = m.StringField()
time = m.DateTimeField()
data = m.BinaryField()
long_name = m.StringField()
version = m.StringField()
hold = m.BooleanField(default=False)
meta = {
"indexes" : [("basename","name"), ('basename','name','time'), ("time", "hold")],
'db_alias' : 'cera'
}
def __unicode__(self):
return "DataArray<{basename}.{name}> @ {time}".format(
basename = self.basename,
name = self.name,
time = self.time
)
class StaticArray(m.Document):
name = m.StringField()
long_name = m.StringField()
data = m.BinaryField()
def __unicode__(self):
return "StaticArray<{long_name}>".format(long_name=self.long_name)