class FlicksList(db.Model): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(64)) owner_id = db.Column(db.Integer(), db.ForeignKey('user.id')) items = relationship('FlicksListItem', backref='list') def get_list_details(self): ret = {'completed': [], 'ptw': [], 'num_items': len(self.items)} for item in self.items: if item.completed: ret['completed'].append({ 'title': item.movie.title, 'list_item_id': item.id, 'notes': item.notes, 'completed': item.completed, 'rating': item.rating, 'completion_date': item.completion_date, 'ordering': item.ordering }) else: ret['ptw'].append({ 'title': item.movie.title, 'list_item_id': item.id, 'notes': item.notes, 'completed': item.completed, 'ordering': item.ordering }) ret['num_completed'] = len(ret['completed']) ret['num_ptw'] = len(ret['ptw']) return ret
class Comment(db.Model): id = db.Column(db.Integer(), primary_key=True) host_id = db.Column(db.Integer(), db.ForeignKey('user.id')) author_id = db.Column(db.Integer(), db.ForeignKey('user.id')) timestamp = db.Column(db.DateTime(), default=datetime.utcnow) body = db.Column(db.String(512))
class CustomList(db.Model): query_class = CustomListQUery search_vector = db.Column(TSVectorType('name')) id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(64)) owner_id = db.Column(db.Integer(), db.ForeignKey('user.id')) items = relationship('CustomListItem', cascade='all, delete-orphan', backref='list') creation_ts = db.Column(db.DateTime(), default=datetime.utcnow) description = db.Column(db.String(256)) private = db.Column(db.Boolean(), default=False) def get_list_details(self): ret = { 'name': self.name, 'list_id': self.id, 'creation_ts': self.creation_ts, 'private': self.private, 'items': [] } for item in self.items: ret['items'].append({ 'title': item.movie.title, 'ordering': item.ordering, 'notes': item.notes }) ret['num_items'] = len(ret['items']) return ret
class CustomListItem(db.Model): id = db.Column(db.Integer, primary_key=True) movie = db.relationship('Movie') movie_id = db.Column(db.Integer(), db.ForeignKey('movie.id')) list_id = db.Column(db.Integer(), db.ForeignKey('custom_list.id')) notes = db.Column(db.String(64)) ordering = db.Column(db.Integer())
class Payment(base.BaseModel): __tablename__ = 'payments' id = db.Column(db.Integer, primary_key=True) item = db.Column(db.String()) amount = db.Column(db.String()) paid_at = db.Column(db.String()) paid = db.Column(db.Boolean()) approved = db.Column(db.Boolean()) assigned_user = db.Column(db.Integer()) receipt_id = db.Column(db.Integer()) assigned_by = db.Column(db.Integer()) assigned_at = db.Column(db.DateTime()) def __init__(self, item, amount, paid_at, paid, approved, assigned_user, receipt_id, assigned_by, assigned_at): self.item = item self.amount = amount self.paid_at = paid_at self.paid = paid self.approved = approved self.assigned_user = assigned_user self.receipt_id = receipt_id self.assigned_by = assigned_by self.assigned_at = assigned_at def __repr__(self): return f"<Item {self.item}>"
class UnitpayPayments(db.Model): __tablename__ = 'unitpay_payments' id = db.Column(db.Integer(), primary_key=True, autoincrement=True, nullable=False) unitpay_id = db.Column(db.VARCHAR(255), nullable=False) account = db.Column(db.VARCHAR(255), nullable=False) sum = db.Column(db.REAL(), nullable=False) payment_type = db.Column(db.VARCHAR(255), nullable=False) payer_currency = db.Column(db.VARCHAR(255), nullable=False) signature = db.Column(db.VARCHAR(100), nullable=False) date_create = db.Column(db.DateTime(), nullable=False, default=datetime.now()) date_complete = db.Column(db.DateTime(), nullable=True, default=None) status = db.Column(db.Integer(), nullable=False, default=0) profit = db.Column(db.VARCHAR(255), nullable=True) def __init__(self, unitpay_id, account, sum, payment_type, payer_currency, signature, profit): self.unitpay_id = unitpay_id self.account = account self.sum = sum self.payment_type = payment_type self.payer_currency = payer_currency self.signature = signature self.profit = profit
class Facturas(db.Model): FacturaID = db.Column(db.Integer, primary_key=True) FechaPago = db.Column(db.DateTime, nullable=False) MetodoPago = db.Column(db.String(), nullable=False) Descripcion = db.Column(db.String(), nullable=False) ClienteID = db.Column(db.Integer(),db.ForeignKey('usuarios.ClienteID')) cliente_id = db.relationship('Usuarios',foreign_keys=ClienteID, backref='Facturas') ProductoID = db.Column(db.Integer(),db.ForeignKey('productos.ProductoID')) producto_id = db.relationship('Productos',foreign_keys=ProductoID, backref='Facturas')
class Article(BaseModel, Model): __tablename__ = 'article' user_id = Column(db.ForeignKey('user.id'), comment='发布者id') title = Column(db.String(50), comment='标题') content = Column(db.String(5000), comment='内容') category = Column(db.String(20), comment='分类') valid = Column(db.Boolean(), comment='有效性') clicks = Column(db.Integer(), comment='点击量') likes = Column(db.Integer(), comment='点赞量')
class Usuarios(db.Model): ClienteID = db.Column(db.Integer, primary_key=True) Nombre = db.Column(db.String(45)) Apellido = db.Column(db.String(45)) Direccion = db.Column(db.String(100)) ProductoID = db.Column(db.Integer(),db.ForeignKey('productos.ProductoID',ondelete='NO ACTION', onupdate='NO ACTION')) producto_id = db.relationship('Productos',foreign_keys=ProductoID, backref='usuarios') FechaPago = db.Column(db.DateTime) Password = db.Column(db.String(45)) Matricula = db.Column(db.Integer())
class FlicksListItem(db.Model): id = db.Column(db.Integer, primary_key=True) movie = db.relationship('Movie') movie_id = db.Column(db.Integer(), db.ForeignKey('movie.id')) list_id = db.Column(db.Integer(), db.ForeignKey('flicks_list.id')) notes = db.Column(db.String(64)) completed = db.Column(db.Boolean(), default=False) rating = db.Column(db.Integer()) completion_date = db.Column(db.Date()) ordering = db.Column(db.Integer())
class HashToken(db.Model): """Table for hash tokens.""" __tablename__ = "hashtoken" htk_id = db.Column(db.String(255), primary_key=True, nullable=False) htk_tsk_id = db.Column(db.Integer(), db.ForeignKey("task.tsk_id")) htk_usr_id = db.Column(db.Integer(), db.ForeignKey("user.usr_id")) htk_locked = db.Column(db.Boolean(), nullable=False, server_default="0") htk_auth = db.Column(db.String(64)) htk_pin = db.Column(db.String(255)) htk_creation_date = db.Column(db.DateTime())
class SnpsReference(db.Model): __bind_key__ = 'poplar_nssnp' __tablename__ = 'snps_reference' snps_reference_id = db.Column(db.Integer(), primary_key=True) chromosome = db.Column(db.Integer(), primary_key=False) chromosomal_loci = db.Column(db.Integer(), primary_key=False) ref_allele = db.Column(db.String(1), primary_key=False) alt_allele = db.Column(db.String(1), primary_key=False) sample_id = db.Column(db.String(45), primary_key=False) snpsJoin = db.relationship('SnpsToProtein', backref="snp")
class Recommendation(db.Model): id = db.Column(db.Integer, primary_key=True) author_id = db.Column(db.Integer, db.ForeignKey('user.id')) body = db.Column(db.String(500)) timestamp = db.Column(db.Date(), default=date.today) recommendation_from = db.Column(db.Integer(), db.ForeignKey('movie.id')) # M : 1 recommendation_to = db.Column(db.Integer(), db.ForeignKey('movie.id')) recommendation = db.relationship('Movie', foreign_keys='Recommendation.recommendation_to')
class Log(db.Model): """Table fo logs""" __tablename__ = "log" log_id = db.Column(db.Integer, primary_key=True) log_type = db.Column(db.String(64), index=True, nullable=True) log_msg = db.Column(db.String(1000), nullable=True) log_timestamp = db.Column(db.DateTime(), nullable=False, default=datetime.datetime.utcnow) log_usr_id = db.Column(db.Integer(), db.ForeignKey("user.usr_id")) log_tsk_id = db.Column(db.Integer(), db.ForeignKey("task.tsk_id"))
class Character(db.Model): id = db.Column(db.Integer, primary_key=True) character_name = db.Column(db.Text()) actor_name = db.Column(db.Text()) # M : 1 actor_id = db.Column(db.Integer(), db.ForeignKey('actor.id')) actor = db.relationship('Actor', backref='roles') profile_path = db.Column(db.Text()) order = db.Column(db.Integer()) movie_id = db.Column(db.Integer(), db.ForeignKey('movie.id')) cast_id = db.Column(db.Integer()) credit_id = db.Column(db.Text())
class UserPlant(BaseModel, Model): __tablename__ = 'user_plant' plant_id = Column(db.ForeignKey('plant.id'), comment="植物id") user_id = Column(db.ForeignKey('user.id'), comment="用户id") active_flag = Column(db.Boolean(), server_default=db.text("True"), comment="是否启用,True启用 False不启用", index=True) water = Column(db.Integer(), comment='水分') fertilizer = Column(db.Integer(), comment='肥料') pesticide = Column(db.Integer(), comment='药') price = Column(db.Numeric(4, 2), comment='价值') harvest_at = Column(db.Date(), comment='预计收获时间') status = Column(db.Enum(PlantStatus), comment='状态') image = Column(db.String(1024), comment='图片')
class GroupDocument(base.BaseModel): __tablename__ = 'group_documents' id = db.Column(db.Integer, primary_key=True) group_id = db.Column(db.Integer()) document_id = db.Column(db.Integer()) def __init__(self, group_id, document_id): self.group_id = group_id self.document_id = document_id def __repr__(self): return f"<Group ID: {self.group_id}>"
class GroupMembers(base.BaseModel): __tablename__ = 'group_members' id = db.Column(db.Integer, primary_key=True) group_id = db.Column(db.Integer()) active = db.Column(db.Boolean()) user_id = db.Column(db.Integer()) def __init__(self, group_id, active, user_id): self.group_id = group_id self.active = active self.user_id = user_id def __repr__(self): return f"<Group ID: {self.group_id}>"
class Actor(db.Model): id = db.Column(db.Integer(), primary_key=True) # 1-1 w/ api query_class = ActorQuery search_vector = db.Column(TSVectorType('name')) biography = db.Column(db.Text()) birthday = db.Column(db.Date()) deathday = db.Column(db.Date()) homepage = db.Column(db.Text()) name = db.Column(db.Text()) place_of_birth = db.Column(db.Text()) profile_path = db.Column(db.Text()) imdb_id = db.Column(db.Text()) def get_actor_metadata(self): ret = dict() ret['biography'] = self.biography ret['birthday'] = self.birthday ret['deathday'] = self.deathday ret['homepage'] = self.homepage ret['name'] = self.name ret['place_of_birth'] = self.place_of_birth ret['profile_path'] = self.profile_path ret['imdb_id'] = self.imdb_id return ret
class Image(db.Model): """Table fo images""" __tablename__ = "image" img_id = db.Column(db.Integer, primary_key=True) img_filename = db.Column(db.String(255), index=True, nullable=False) img_tsk_id = db.Column(db.Integer(), db.ForeignKey("task.tsk_id"))
class Role(db.Model, RoleMixin): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(80), unique=True) description = db.Column(db.String(255)) def __str__(self): return self.name
class UserCategory(db.Model): """Table fo user categories""" __tablename__ = "usercategory" uct_id = db.Column(db.Integer, primary_key=True) uct_category_name = db.Column(db.String(64), index=True, unique=True) uct_usr_id = db.Column(db.Integer(), db.ForeignKey("user.usr_id"))
class Seed(BaseModel, Model): __tablename__ = 'seed' plant_id = Column(db.ForeignKey('plant.id'), comment='植物id') category = Column(db.String(40), comment='分类') price = Column(db.Numeric(4, 2), comment='单位种子价格') unit = Column(db.String(4), comment='种子单位') time_cost = Column(db.String(40), comment='预计所需时间') area_need = Column(db.Integer(), comment='占地面积') area_unit = Column(db.String(40), comment='占地面积单位')
class Task(db.Model): """Table fo tasks""" __tablename__ = "task" tsk_id = db.Column(db.Integer, primary_key=True) tsk_fault_description = db.Column(db.String(1000)) tsk_creation_date = db.Column(db.DateTime()) tsk_state = db.Column(db.String(64), db.ForeignKey("state.sta_name")) tsk_next_step = db.Column(db.String(64), db.ForeignKey("step.ste_name")) #tsk_hash_token = db.Column(db.String(255), nullable=False) tsk_cus_id = db.Column(db.Integer(), db.ForeignKey("customer.cus_id")) tsk_dev_id = db.Column(db.Integer(), db.ForeignKey("device.dev_id")) tsk_supervisor_usr_id = db.Column(db.Integer(), db.ForeignKey("user.usr_id")) tsk_acc_name = db.Column(db.String(255), db.ForeignKey("accessory.acc_name")) hash_tokens = db.relationship('HashToken', backref='task', lazy=True) log_list = db.relationship('Log', backref='task', lazy=True)
class Document(base.BaseModel): __tablename__ = 'documents' id = db.Column(db.Integer, primary_key=True) receipt_desc = db.Column(db.String()) uploaded_by = db.Column(db.Integer()) group_id = db.Column(db.Integer()) document_id = db.Column(db.String()) timestamp = db.Column(db.DateTime()) def __init__(self, receipt_desc, uploaded_by, group_id, document_id, timestamp): self.receipt_desc = receipt_desc self.uploaded_by = uploaded_by self.group_id = group_id self.document_id = document_id self.timestamp = timestamp def __repr__(self): return f"<Document: {self.document_id}>"
class SnpsToProtein(db.Model): __bind_key__ = 'poplar_nssnp' __tablename__ = 'snps_to_protein' snps_reference_id = db.Column( db.Integer(), db.ForeignKey('snps_reference.snps_reference_id'), primary_key=True) protein_reference_id = db.Column( db.Integer(), db.ForeignKey('protein_reference.protein_reference_id'), primary_key=True) transcript_pos = db.Column(db.Integer(), primary_key=False) ref_DNA = db.Column(db.String(1), primary_key=False) alt_DNA = db.Column(db.String(1), primary_key=False) aa_pos = db.Column(db.Integer(), primary_key=False) ref_aa = db.Column(db.String(3), primary_key=False) alt_aa = db.Column(db.String(3), primary_key=False) type = db.Column(db.String(50), primary_key=False) effect_impact = db.Column(db.String(50), primary_key=False) transcript_biotype = db.Column(db.String(45), primary_key=False)
class MeetingModel(db.Model): __tablename__: str = "meeting" uuid: db.Column = db.Column(db.String(32), primary_key=True, unique=True) name: db.Column = db.Column(db.String(255), nullable=False) description: db.Column = db.Column(db.String(1024), nullable=False) date: db.Column = db.Column(db.Integer()) start: db.Column = db.Column(db.Integer()) stop: db.Column = db.Column(db.Integer()) room: db.Column = db.Column(db.String(32), ForeignKey('room.uuid')) @property def serialize(self): _ = self.uuid dict = self.__dict__ key = '_sa_instance_state' if key in dict: del dict[key] return dict @staticmethod def create(name: str, description: str, room, date, start, stop) -> "MeetingModel": uuid = str(uuid4()).replace('-', '') meeting: MeetingModel = MeetingModel(uuid=uuid, name=name, description=description, room=room, date=date, start=start, stop=stop) db.session.add(meeting) db.session.commit() return meeting
class SeatModel(db.Model): __tablename__: str = "seat" uuid: db.Column = db.Column(db.String(32), primary_key=True, unique=True) id = db.Column(db.Integer(), primary_key=True, autoincrement=True) room_id: db.Column = db.Column(db.String(32), ForeignKey('room.uuid')) block: db.Column = db.Column(db.Integer(), nullable=False) row: db.Column = db.Column(db.Integer(), nullable=False) type: db.Column = db.Column(db.Integer(), nullable=False) @property def serialize(self): dict = { "uuid": self.uuid, "room_id": self.room_id, "block": self.block, "row": self.row, "type": self.type, } return dict @staticmethod def create(room: RoomModel, block: int, row: int, type: int = 0) -> "SeatModel": uuid = str(uuid4()).replace('-', '') seat: SeatModel = SeatModel(uuid=uuid, room_id=room, block=block, row=row, type=type) db.session.add(seat) db.session.commit() return seat
class Todo(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(200), nullable=False) content = db.Column(db.String(2000), nullable=False) subject = db.Column(db.String(100)) complete_in = db.Column(db.Integer, default=0) date_create = db.Column(db.DateTime, default=datetime.utcnow) email = db.Column(db.String(50)) name = db.Column(db.String(100)) tags = db.Column(db.String(100)) points = db.Column(db.Integer(), default=0) def __repr__(self): return "<task %r> " % self.id
class CrawledTwitterDataListEntity(db.Model): __tablename__ = 'CrawledTwitterDataListEntity' cid = db.Column(db.String(255), primary_key=True) content = db.Column(db.Text()) timestamp = db.Column(db.Integer()) def __repr__(self): return '<CrawledTwitterDataListEntity {0} {1} {2}>'.format( self.cid, self.content, str(self.timestamp)) def __eq__(self, other): if isinstance(other, CrawledTwitterDataListEntity): return self.cid == other.cid and \ self.content == other.content and \ self.timestamp == other.timestamp return False