class Colocalisation(EmbeddedDocument): """ cellType CD14 chi2Eqtl 238.561 chi2Gwas 38.0912 comparedInFinemap False indexGroupEqtl 737 indexGroupGwas 737 probeId 7150753 pvaluesEqtl 8.09895e-54 pvaluesGwas 6.8e-10 snpProbEqtl 0.9714 snpProbGwas 0.9987 trait myeloid_wbc variantId 8:142328719_G_T """ cellType = StringField() chi2Eqtl = FloatField() chi2Gwas = FloatField() comparedInFinemap = BooleanField() indexGroupEqtl = IntField() indexGroupGwas = IntField() probeId = StringField() pvaluesEqtl = FloatField() pvaluesGwas = FloatField() snpProbEqtl = FloatField() snpProbGwas = FloatField() trait = StringField() variantId = StringField()
class Comment(EmbeddedDocument): tweet_id = LongField(required=True) text = StringField(required=True) user_id = LongField(required=True) created_at = DateTimeField(required=True) hateful_value = FloatField(min_value=0.0, max_value=1.0) def __repr__(self): ret = "" if self.hateful_value: ret += f"({self.hateful_value:.2f}) " ret += self.text return ret
class Products(Document): title = StringField(required=True) category = StringField(required=True) pic_url = StringField() price = FloatField(required=True, min_value=0.0) meta = {'strict': False} def __init__(self, title, category, price, pic_url=None, *args, **kwargs): super().__init__(*args, **kwargs) self.title = title self.category = category self.price = price self.pic_url = pic_url
class SearchResult(EmbeddedDocument): meta = {"collection": "results", "allow_inheritance": False} id = EmbeddedDocumentField(MemeId, db_field="_id", required=True, primary_key=True) name = StringField(required=True) title = StringField(required=True) caption = StringField(required=True) score = IntField(required=True) url = URLField(required=True) image = URLField(required=True) bm25 = FloatField(required=True, min_value=0.0)
class Currency(EmbeddedDocument): name = StringField() amount = FloatField() @classmethod def create(cls, name: str, amount: float) -> "Currency": obj = cls() obj.name = name obj.amount = amount return obj
class Student(DynamicDocument): #表字段固定用Student(Document),不固定用DynamicDocument '''学生''' name = StringField(max_length=32, required=True) age = IntField(required=True) sex = StringField(choices=SEX_CHOICES, required=True) grade = FloatField() address = StringField() grades = ListField(EmbeddedDocumentField(Grade)) meta = { 'collection' : 'students', #指定collection名 'ordering' : ['-age'] #排序-age倒序,+age正序 }
class FilmNet(Document): movie = ReferenceField(Movie) rate = FloatField() created_time = DateTimeField(default=datetime.now()) modified_time = DateTimeField(default=datetime.now()) def save(self, force_insert=False, validate=True, clean=True, write_concern=None, cascade=None, cascade_kwargs=None, _refs=None, save_condition=None, signal_kwargs=None, **kwargs ): self.modified_time = datetime.now() return super().save()
class DBTradeData(Document): strategy_id: str = StringField() symbol: str = StringField() datetime: datetime = DateTimeField() direction: str = StringField() volume: float = FloatField() price: float = FloatField() commission: float = FloatField() commission_asset: str = StringField() trade_id: str = StringField() order_id: str = StringField() client_order_id: str = StringField() meta = { "indexes": [{ "fields": ("symbol", "order_id", "trade_id"), "unique": True, }] }
class Order(Document): orderer = ReferenceField('User') orderStatus = StringField(choices=[ 'not placed', 'pending', 'partially paid', 'paid', 'shipped', 'completed', 'failed', 'to refund', 'refunded' ]) products = EmbeddedDocumentListField('CartItem') coupons = ListField(ReferenceField('Coupon')) taxRate = FloatField() shippingType = StringField(choices=['dollar', 'percent']) shippingRate = FloatField() addresses = DictField() gateway = StringField() gatewayPaymentID = StringField() createdAt = DateTimeField(default=datetime.datetime.now) modified = DateTimeField(default=datetime.datetime.now) stockRemoved = BooleanField(default=False) # TODO: maybe save crypto wallet addresses to make refunding easier meta = {'indexes': ['orderer']} def serialize(self): orderer = None if self.orderer: orderer = str(self.orderer.id) return { 'id': str(self.id), 'orderer': orderer, 'orderStatus': self.orderStatus, 'products': list(map(lambda p: p.serialize(True), self.products)), 'coupons': list(map(lambda c: c.serialize(), self.coupons)), 'taxRate': self.taxRate, 'shippingType': self.shippingType, 'shippingRate': self.shippingRate, 'addresses': self.addresses, 'gateway': self.gateway, 'createdAt': str(self.createdAt), 'modified': str(self.modified) }
class AccountActionParts(BaseDocument): """ 动作链片段表 """ choices = ('crawl_pages', 'wb_events') config = StringField(required=True) # 爬虫配置 context = StringField(required=True, choices=choices) # 上级配置节点 action_name = StringField(max_length=64, required=True, unique_with='source_id', null=False) # 片段的行为名称 create_time = FloatField() # 创建时间timestamp source_id = ObjectIdField() # 平台id
class StudentProfile(Document): student = ReferenceField(Account, required=True, unique=True, reverse_delete_rule=CASCADE) gpa = FloatField(min_value=0.0, max_value=5.0) # unweighted GPA goes up to 5.0? grades = DynamicField(default=dict) residence_state = StringField(max_length=2) # store state acronym. high_school_name = StringField() high_school_city = StringField() high_school_state = StringField(max_length=2) college_class = IntField(min_value=0, max_value=3000) major_1 = StringField() major_2 = StringField()
class BCCDuesList(Document): __tablename__ = 'bcc_dues_list' month = StringField(required=True) amount = FloatField(required=True) def __unicode__(self): return self.month def __repr__(self): return self.month def __str__(self): return self.month
class Model1(Document): field_string = StringField(unique=True, required=True) field_integer = IntField() field_float = FloatField() field_date = DateTimeField() field_file = FileField() field_image = ImageField() def __repr__(self): return str(self.field_string) def __unicode__(self): return self.field_string
class AudioFile(EmbeddedDocument): filename: str = StringField(required=True) duration: float = FloatField(required=True) is_valid: bool = BooleanField(required=True, default=True) error_msg: str = StringField() def to_msg(self): return { "filename": self.filename, "duration": self.duration, "is_valid": self.is_valid, "error_msg": self.error_msg }
class Comment(Document): id = StringField(primary_key=True, max_length=10, required=True) submission_id = StringField(max_length=10, required=True) subreddit = StringField(max_length=200, required=True) content = StringField(max_length=1000, required=True) timestamp = FloatField(required=True) meta = { 'indexes': [{ 'fields': ['$content'], 'default_language': 'english' }] }
class Stock(Document): symbol = StringField(required=True) value = StringField(default="no value") color = StringField(default="no color") date = ListField(StringField()) LS = StringField(default="") trend = StringField(default="no trend") slw = ListField(FloatField()) enwl = ListField(FloatField()) enwh = ListField(FloatField()) exwl = ListField(FloatField()) exwh = ListField(FloatField()) close = ListField(FloatField()) high = ListField(FloatField()) low = ListField(FloatField())
class Order(Document): # поля для внутреннего использования creation_date = DateTimeField(default=datetime.utcnow()) return_date = DateTimeField() sent_to_server = BooleanField(default=False) returned = BooleanField(default=False) cashier_name = StringField(required=True) cashier_id = StringField(required=True) return_cashier_name = StringField(default='') return_cashier_id = StringField(default='') order_prefix = StringField(required=True) order_number = IntField(required=True) # clientOrderID = StringField(required=True) cardHolder = StringField(default='') pan = StringField(default='') payLink = StringField(default='') amount = FloatField(required=True) amount_with_discount = FloatField(required=True) payType = IntField(required=True) paid = IntField(required=True) cashID = StringField(required=True) checkNumber = IntField(required=True) doc_number = IntField(required=True) wares = ListField(ReferenceField(Ware, reverse_delete_rule=DENY), default=[]) meta = {'collection': 'orders', 'strict': False, 'indexes': ['cashID', 'clientOrderID']} def save(self, **kwargs): for ware in self.wares: ware.save() super().save(**kwargs) return self def mark_as_returned(self): self.returned = True self.save()
class Mission(DynamicDocument): beatmapset_id = IntField(required=True) grade = StringField() combo = IntField() accuracy = FloatField() passed = IntField() mods = IntField() max_completer = IntField() description = StringField() release_time = DateTimeField(default=datetime.datetime.utcnow) completer = DictField(default={})
class Model2(Document): field_string = StringField(unique=True, required=True) field_integer = IntField() field_float = FloatField() field_date = DateTimeField() excluded_string = StringField(default="EXCLUDED") default_string = StringField(default="DEFAULT") group = ReferenceField(Model1, required=True) def __repr__(self): return str(self.field_string) def field_method(self): return "field_method_value"
class HKStock_Daily_OHLCV(Document): code = StringField(required=True) datetime = DateTimeField(required=True, unique_with='code') open = FloatField() high = FloatField() low = FloatField() close = FloatField() volume = FloatField() meta = { 'db_alias': 'HKStock', 'collection': 'stock_ohlcv', 'indexes': [ 'code', 'datetime', { 'fields': ('code', 'datetime'), 'unique': True }, ] }
class Observation(Document): observation_hash = StringField(max_length=64, unique=True) latitude = FloatField() longitude = FloatField() loc = GeoPointField() loc_city = StringField(max_length=64) loc_country = StringField(max_length=64) start = DateTimeField() finish = DateTimeField() duration = IntField() #duration in milliseconds, finish-start no_smoking = IntField() other_adults = IntField() lone_adult = IntField() child = IntField() device_id = StringField(max_length=128) device_type = StringField(max_length=128) upload_timestamp = DateTimeField() user = ReferenceField(RegisteredObserver) details = ListField(EmbeddedDocumentField(Detail)) def __unicode__(self): return u"Start: {0} Finish: {1} By: {2}".format( self.start, self.finish, self.user)
class BCCBarItem(Document): __tablename__ = 'bcc_bar_items' item = StringField(max_length=40, required=True) category = ReferenceField(BCCItemCategory, required=True) price = FloatField(required=True, default=0.0) def __unicode__(self): return self.item def __repr__(self): return self.item def __str__(self): return """{}-price = ${}""".format(self.item, self.price)
class InventoryProductCost(Document): __tablename__ = 'inventory_product_unitcost' product = ReferenceField(InventoryProduct, required=True) timestamp = DateTimeField(required=True) cost = FloatField() def __unicode__(self): return self.cost def __repr__(self): return self.cost def __str__(self): return """{} : ${}""".format(self.product, self.cost)
class UsIcsaItem(Document): """ 初次申领失业金人数 """ DATE = LongField(required=True, unique=False) ICSA = FloatField(required=True) meta = { 'indexes': [{ 'name': 'date_index', 'fields': ['DATE'] }], 'index_background': True, 'auto_create_index': True }
class Student(DynamicDocument): ''' 学生 ''' name = StringField(max_length=32, required=True) age = IntField(required=True) grade = FloatField() sex = StringField(choices=SEX_CHOICES, required=True) address = StringField() grades = ListField(EmbeddedDocumentField(Grade), required=True) # remake = StringField() meta = { 'collection': 'student', # 操作的数据库 'ordering': ['-age'] # 排序 "-"倒叙 }
class EnergyReport(Document): country = StringField(required=True) year = IntField(required=True, min_value=1990, max_value=2199) population = IntField(min_value=0) energy_access = FloatField(min_value=0.00, max_value=100.00) production_amount = FloatField(min_value=0.00) production_source = EmbeddedDocumentListField(EnergySource) consumption_amount = FloatField(min_value=0.00) def __init__(self, country, year, population=None, energy_access=None, production_amount=None, production_source=[], consumption_amount=None, *args, **kwargs): super().__init__(*args, **kwargs) self.country = country self.year = year self.population = population self.energy_access = energy_access self.production_amount = production_amount self.production_source = production_source self.consumption_amount = consumption_amount
class BotUtterance(Utterance): active_skill = StringField() confidence = FloatField() def to_dict(self): return { 'id': str(self.id), 'active_skill': self.active_skill, 'confidence': self.confidence, 'text': self.text, 'user_id': str(self.user.id), 'annotations': self.annotations, 'date_time': str(self.date_time) }
class TRAIT(Document): name = StringField(required=True) code = StringField(required=True) datetime = DateTimeField(required=True) datas = ListField(FloatField()) meta = { 'allow_inheritance': True, 'db_alias': 'HKFuture', 'collection': 'trait', 'indexes': [{ 'fields': ('name', 'code', 'datetime') }] }
class Respirator(Document): url = StringField(required=True) title = StringField(required=True) date = DateTimeField(default=datetime.datetime.now) respirator_type = StringField(required=False) exhalation_valve = BooleanField(required=False) approval_certificate = ReferenceField("ApprovalCertificate", reverse_delete_rule=CASCADE) spandex = BooleanField(required=False) quantity = IntField(required=False) price_per_unit = FloatField(required=False) def __repr__(self): return f"{self.approval_certificate.number} - {self.approval_certificate.manufacturer}"
class PersonaUser(Document): job = StringField(required=True) company = StringField(required=True) ssn = StringField(required=True) residence = StringField(required=True) blood_group = StringField(required=True) username = StringField(required=True) name = StringField(required=True) sex = StringField(required=True) address = StringField(required=True) mail = StringField(required=True) birthdate = StringField(required=True) website = ListField(StringField(), required=True) current_location = ListField(FloatField(), required=True)