# -*- coding: utf-8 -*- from django.db import models from mongoengine import Document, IntField, FloatField, StringField, DictField, ListField, DateTimeField, ReferenceField class Experiment(Document): code = IntField(unique=True) name = StringField(max_length=40) class ExpDetail(Document): experiment = ReferenceField(Experiment) date = DateTimeField() last_time = FloatField() def plots(self): return PlotMeta.objects(exp_detail=self) class PlotMeta(Document): exp_detail = ReferenceField(ExpDetail) metadata = DictField() plot = StringField() class PlotData(Document): plot = ReferenceField(PlotMeta) time = FloatField() data = ListField() meta = { 'indexes': ["plot", "+time"] }