Пример #1
0
class GroupingModel(db.Model):
    __tablename__ = 'grouping'
    __table_args__ = {'schema': 'public'}

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    sector_id = db.Column(db.Integer, db.ForeignKey('sector.id'))
    geography_id = db.Column(db.Integer, db.ForeignKey('geography.id'))
    esg_factor_id = db.Column(db.Integer, db.ForeignKey('esg_factor.id'))
    analysis = db.Column(db.String(32))

    @property
    def serialize(self):
        return {
            'id': str(self.id),
            'name': self.name,
            'sector_id': str(self.sector_id),
            'geography_id': str(self.geography_id),
            'esg_factor_id': str(self.esg_factor_id),
            'analysis': self.analysis
        }
Пример #2
0
class PortfolioSecurityValueModel(db.Model):
    __tablename__ = 'portfolio_security_value'

    portfolio_id = db.Column(db.Integer,
                             db.ForeignKey('portfolio.id'),
                             primary_key=True)
    security_id = db.Column(db.String(20),
                            db.ForeignKey('security.id'),
                            primary_key=True)
    date_key = db.Column(db.Date, primary_key=True)
    weight = db.Column(db.Float)
    base_currency_value = db.Column(db.Float)

    @property
    def serialize(self):
        return {
            'portfolio_id': str(self.portfolio_id),
            'security_id': self.security_id,
            'date_key': str(self.date_key),
            'weight': str(self.weight),
            'base_currency_value': str(self.base_currency_value),
        }
Пример #3
0
class Announcement(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    description = db.Column(db.String(5000), nullable=False)
    saled = db.Column(db.Boolean, default=False)
    category = db.Column(db.Integer,
                         db.ForeignKey('category.id'),
                         nullable=False)
    created = db.Column(DateTime(timezone=True), server_default=func.now())
    reason_id = db.Column(db.Integer,
                          db.ForeignKey('closed.id'),
                          nullable=True)
    user = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    city = db.Column(db.String(200), nullable=True)
    address = db.Column(db.String(500), nullable=True)
    images = relationship("ImagesAnnoun", backref="images_announ")
    want = relationship("Want", backref="want")
    recently_viewed = relationship("RecentlyViewed", backref="recently_viewed")
    reason = relationship("Closed", backref="closed")
    delete = db.Column(db.Boolean, default=False, unique=False)
    no_exchange = db.Column(db.Boolean, default=False, unique=False)
    str_want = db.Column(db.String(300), nullable=True)
Пример #4
0
class Comment(db.Model):
    __tablename__ = 'comment'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    author = db.Column(db.String(20))
    email = db.Column(db.String(200))
    site = db.Column(db.String(200))
    body = db.Column(db.Text)
    from_admin = db.Column(db.Boolean, default=False)
    reviewed = db.Column(db.Boolean, default=False)
    timestamp = db.Column(db.DateTime, default=datetime.now, index=True)

    replied_id = db.Column(db.Integer, db.ForeignKey('comment.id'))
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'))

    post = db.relationship('Post', back_populates='comments')
    replies = db.relationship('Comment',
                              back_populates='replied',
                              cascade='all, delete-orphan')
    replied = db.relationship('Comment',
                              back_populates='replies',
                              remote_side=[id])
Пример #5
0
class Task(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(80), nullable=False)
    body = db.Column(db.Text, nullable=False)
    picture = db.Column(db.LargeBinary)
    # sound = db.Column(db.LargeBinary)
    timestamp = db.Column(db.DateTime, default=datetime.utcnow)

    answers = db.relationship('Answer', backref='parent', lazy='dynamic')
    teach_id = db.Column(db.Integer, db.ForeignKey('teacher.id'))

    def __repr__(self):
        return '<Task {}>'.format(self.title)
class Appointment(db.Model):
    __tablename__ = 'appointment'
    id = db.Column(db.Integer, primary_key=True)
    time = db.Column(db.Integer)
    add_time = db.Column(db.Integer)
    user_id = db.Column(db.ForeignKey('user.id'))
    user = db.relationship('User',
                           backref=db.backref(
                               'appointments',
                               order_by='Appointment.time.desc()'))

    def __repr__(self):
        return f"Appointment('{self.time}','{self.add_time}')"
Пример #7
0
class TransferLog(db.Model):
    __tablename__ = 'logs'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    station_id = db.Column(db.Integer, db.ForeignKey('yjstationinfo.id'))
    level = db.Column(db.Integer)
    time = db.Column(db.Integer)
    note = db.Column(db.String(200))

    def __init__(self, station_id, level, time, note):
        self.station_id = station_id
        self.level = level
        self.time = time
        self.note = note
Пример #8
0
class PortfolioEsgScoreModel(db.Model):
    __tablename__ = 'portfolio_esg_score'

    portfolio_id = db.Column(db.Integer,
                             db.ForeignKey('portfolio.id'),
                             primary_key=True)
    date_key = db.Column(db.Date, primary_key=True)
    esg_factor_id = db.Column(db.Integer,
                              db.ForeignKey('esg_factor.id'),
                              primary_key=True)
    weight_method = db.Column(db.Integer)
    score = db.Column(db.Float)

    @property
    def serialize(self):
        return {
            'portfolio_id': str(self.portfolio_id),
            'date_key': str(self.date_key),
            'esg_factor_id': str(self.esg_factor_id),
            'weight_method': str(self.weight_method),
            'score': str(self.score),
        }
Пример #9
0
class CompanyModel(db.Model):
    __tablename__ = 'company'

    id = db.Column(db.String(20), primary_key=True)
    ara_id = db.Column(db.String(15))
    name = db.Column(db.String(200), nullable=False)
    geography_id = db.Column(db.Integer, db.ForeignKey('geography.id'), nullable=False)
    sector_id = db.Column(db.Integer, db.ForeignKey('sector.id'))

    suppliers = db.relationship('CompanySupplierModel', foreign_keys='CompanySupplierModel.company_id')
    geography = db.relationship('GeographyModel', foreign_keys=[geography_id])
    sector = db.relationship('SectorModel', foreign_keys=[sector_id])

    @property
    def serialize(self):
        return {
            'id': self.id,
            'ara_id': self.ara_id,
            'name': self.name,
            'geography_id': str(self.geography_id),
            'sector_id': str(self.sector_id),
        }
Пример #10
0
class Post(db.Model):
    __tablename__ = 'post'
    __table_args__ = {'mysql_charset': 'utf8'}
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(64))
    text = db.Column(db.Text)
    publish_date = db.Column(db.DateTime, default=datetime.datetime.now)
    publish_able = db.Column(db.String(1))
    publish_state = db.Column(db.String(1))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    tag_id = db.Column(db.Integer, db.ForeignKey('tag.id'))

    comments = db.relationship('Comment', backref='post', lazy='dynamic')

    def __init__(self, title, text, publish_able, tag_id):
        self.title = title
        self.text = text
        self.publish_able = publish_able
        self.tag_id = tag_id

    def __repr__(self):
        return '<Post {}>'.format(self.title)
Пример #11
0
class Action(db.Model):
    __tablename__ = 'action'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    fun_id = db.Column(db.Integer,
                       db.ForeignKey('function_info.id'),
                       nullable=False,
                       comment="方法id")
    ele_id = db.Column(db.Integer,
                       db.ForeignKey('element.id'),
                       comment="所操作元素id")
    page_id = db.Column(db.Integer, db.ForeignKey('page.id'), comment="所属页面ID")
    create_datetime = db.Column(db.DateTime,
                                server_default=db.text("CURRENT_TIMESTAMP"),
                                comment="创建时间")
    update_datetime = db.Column(
        db.DateTime,
        nullable=False,
        server_default=db.text(
            "CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"),
        comment="更新时间")
    fun = db.relationship('FunctionInfo')
    ele = db.relationship('Element')
Пример #12
0
class YjPLCInfo(db.Model):
    __tablename__ = 'yjplcinfo'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    plc_name = db.Column(db.String(30))
    note = db.Column(db.String(200))
    ip = db.Column(db.String(30))
    mpi = db.Column(db.Integer)
    type = db.Column(db.Integer)
    plc_type = db.Column(db.String(20))
    ten_id = db.Column(db.String(255))
    item_id = db.Column(db.String(20))

    rack = db.Column(db.Integer)
    slot = db.Column(db.Integer)
    tcp_port = db.Column(db.Integer)

    station_id = db.Column(db.Integer, db.ForeignKey('yjstationinfo.id'))

    groups = db.relationship('YjGroupInfo',
                             backref='yjplcinfo',
                             lazy='dynamic',
                             cascade="delete, delete-orphan")

    def __init__(self,
                 plc_name=None,
                 station_id=None,
                 note=None,
                 ip=None,
                 mpi=None,
                 type=None,
                 plc_type=None,
                 ten_id=None,
                 item_id=None,
                 rack=0,
                 slot=0,
                 tcp_port=102):
        self.plc_name = plc_name
        self.station_id = station_id
        self.note = note
        self.ip = ip
        self.mpi = check_int(mpi)
        self.type = type
        self.plc_type = plc_type
        self.ten_id = ten_id
        self.item_id = item_id
        self.rack = rack
        self.slot = slot
        self.tcp_port = tcp_port

    def __repr__(self):
        return '<PLC : ID(%r) Name(%r) >'.format(self.id, self.plc_name)
Пример #13
0
class Post(BaseMixin,db.Model):
    __tablename__ = 'posts'

    name = db.Column(db.String(255),nullable=False)
    content = db.Column(db.Text)
    blog_id = db.Column(db.Integer,db.ForeignKey('blogs.id'))
    blog = db.relationship('Blog',backref=db.backref(
                    'posts'),uselist=False)
    category_id = db.Column(db.Integer,db.ForeignKey('categories.id'))
    category = db.relationship('Category',backref=db.backref(
                    'posts'),uselist=False)
    #tags = db.relationship('Tag',secondary='posts_tags',backref=db.backref(
    #                'posts',lazy='dynamic'),lazy='dynamic')
    author_id = db.Column(db.Integer,db.ForeignKey('users.id'))
    author = db.relationship('User',backref=db.backref(
                    'posts'),uselist=False)
    date_added = db.Column(db.DateTime,default=db.func.now())
    date_modified = db.Column(db.DateTime,default=db.func.now(),onupdate=db.func.now())
    excerpt_length = db.Column(db.Integer,default=55,nullable=False)
    slug = db.Column(db.String(255),unique=True)
    icon_id = db.Column(db.Integer,db.ForeignKey('font_icons.id'))
    icon = db.relationship('FontIcon',backref='posts')

    @property
    def comment_count(self):
        return len(self.comments.query.all())

    @property 
    def author_name(self):
        return self.author.name or ''
    
    @property
    def title(self):
        return self.name.title()

    @property
    def excerpt(self):
        return self.content[:self.excerpt_length]
Пример #14
0
class TestSuitStep(db.Model):
    __tablename__ = 'test_suit_step'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    rank = db.Column(db.Integer, nullable=False, comment="执行顺序")
    test_case_id = db.Column(db.Integer,
                             db.ForeignKey('test_case.id'),
                             nullable=False,
                             comment="用例")
    skip = db.Column(db.Integer, nullable=False, comment="是否略过")
    test_case_suit_id = db.Column(db.Integer,
                                  db.ForeignKey('test_case_suit.id'),
                                  comment="所属用例集ID")
    input_args = db.Column(db.Text, comment="输入参数对象")
    create_datetime = db.Column(db.DateTime,
                                server_default=db.text("CURRENT_TIMESTAMP"),
                                comment="创建时间")
    update_datetime = db.Column(
        db.DateTime,
        nullable=False,
        server_default=db.text(
            "CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"),
        comment="更新时间")
    test_case = db.relationship('TestCase', backref=db.backref('suit'))
Пример #15
0
class Category(BaseMixin, db.Model):
    __tablename__ = 'categories'

    name = db.Column(db.String(100), unique=True)
    description = db.Column(db.Text)
    icon_id = db.Column(db.Integer,db.ForeignKey('font_icons.id'))
    icon = db.relationship('FontIcon',backref='categories')

    def __unicode__(self):
        return self.name
    
    @classmethod
    def get_by_name(cls,name):
        return cls.query.filter(cls.name==name).first()
Пример #16
0
class EsgRatingModel(db.Model):
    __tablename__ = 'esg_rating'

    data_provider_id = db.Column(db.String(2),
                                 db.ForeignKey('data_provider.id'),
                                 primary_key=True)
    id = db.Column(db.String(5), primary_key=True)

    @property
    def serialize(self):
        return {
            'data_provider_id': self.data_provider_id,
            'id': self.id,
        }
Пример #17
0
class Interface(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    inf_url = db.Column(db.String(50), nullable=False)
    inf_name = db.Column(db.String(10), nullable=False)
    req_method = db.Column(db.String(10), nullable=False)
    req_parameters = db.Column(db.String(150), nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.now)
    create_person = db.Column(db.String(10), default='万海波')
    project_id = db.Column(db.Integer, db.ForeignKey('project.id'), nullable=True)

    __tablename__ = 'interface'

    def __str__(self):
        return self.inf_name
Пример #18
0
class Reference(db.Model):
    __tablename__ = 'reference'
    id = db.Column(db.Integer, primary_key=True)
    id_charity = db.Column(db.Integer,
                           db.ForeignKey('charity.id'),
                           nullable=False,
                           unique=True)
    id_support = db.Column(db.Integer,
                           db.ForeignKey('support.id'),
                           nullable=False,
                           unique=True)
    id_about_service = db.Column(db.Integer,
                                 db.ForeignKey('about_service.id'),
                                 nullable=False,
                                 unique=True)
    charity = relationship("Charity", backref="charity")
    support = relationship("Support", backref="support")
    about_service = relationship("AboutService", backref="about_service")

    def __init__(self, id_charity, id_support, id_about_service):
        self.id_charity = id_charity
        self.id_support = id_support
        self.id_about_service = id_about_service
Пример #19
0
class TerminalInfo(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    boot_time = db.Column(db.Integer)
    total_usage = db.Column(db.Integer)
    free_usage = db.Column(db.Integer)
    usage_percent = db.Column(db.Float)
    total_memory = db.Column(db.Integer)
    free_memory = db.Column(db.Integer)
    memory_percent = db.Column(db.Float)
    bytes_sent = db.Column(db.Integer)
    bytes_recv = db.Column(db.Integer)
    cpu_percent = db.Column(db.Float)

    station_id = db.Column(db.Integer, db.ForeignKey('yjstationinfo.id'))
Пример #20
0
class Teacher(db.Model):
    __tablename__ = 'teacher'
    __bind_key__ = 'my_dom'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(30), nullable=False)
    status = db.Column(db.String(100), nullable=False)
    created_time = db.Column(db.DateTime,
                             nullable=False,
                             server_default=db.FetchedValue())
    update_time = db.Column(db.DateTime,
                            nullable=False,
                            server_default=db.FetchedValue())
    school_id = db.Column(db.Integer, db.ForeignKey('school.id'))
Пример #21
0
class CompanyEsgFactorModel(db.Model):
    __tablename__ = 'company_esg_factor'

    company_id = db.Column(db.String(20),
                           db.ForeignKey('company.id'),
                           primary_key=True)
    esg_factor_id = db.Column(db.Integer,
                              db.ForeignKey('esg_factor.id'),
                              primary_key=True)
    date_key = db.Column(db.Date, primary_key=True)
    score = db.Column(db.Float)

    esg_factor = db.relationship('EsgFactorModel',
                                 foreign_keys=[esg_factor_id])

    @property
    def serialize(self):
        return {
            'company_id': self.company_id,
            'esg_factor_id': str(self.esg_factor_id),
            'date_key': str(self.date_key),
            'score': str(self.score),
        }
class Symptom(db.Model):
    __tablename__ = 'symptom'
    # __table_args__ = {'schema': 'schema_any'}
    # __abstract__ = True
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    date = db.Column(db.Date)
    time = db.Column(db.Integer)
    parts = db.Column(db.String(100))
    degree = db.Column(db.Integer)
    user_id = db.Column(db.ForeignKey('user.id'))

    def __repr__(self):
        return f"Symptom('{self.name}','{self.date}','{self.time}','{self.parts}', '{self.degree}')"
Пример #23
0
class PortfolioMetricDateModel(db.Model):
    __tablename__ = 'portfolio_metric_date'
    
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    portfolio_id = db.Column(db.Integer, db.ForeignKey('portfolio.id'), nullable=False)
    date_key = db.Column(db.Date, nullable=False)
    
    @property
    def serialize(self):
        return {
            'id': str(self.id),
            'portfolio_id': str(self.portfolio_id),
            'date_key': str(self.date_key),
        }
Пример #24
0
class PortfolioSecurityModel(db.Model):
    __tablename__ = 'portfolio_security'

    portfolio_id = db.Column(db.Integer,
                             db.ForeignKey('portfolio.id'),
                             primary_key=True)
    security_id = db.Column(db.String(20),
                            db.ForeignKey('security.id'),
                            primary_key=True)
    portfolio_update_date = db.Column(db.Date, primary_key=True)
    position = db.Column(db.Float, nullable=False)

    portfolio = db.relationship('PortfolioModel', foreign_keys=[portfolio_id])
    security = db.relationship('SecurityModel', foreign_keys=[security_id])

    @property
    def serialize(self):
        return {
            'portfolio_id': str(self.portfolio_id),
            'security_id': self.security_id,
            'portfolio_update_date': str(self.portfolio_update_date),
            'position': str(self.position),
        }
Пример #25
0
class Comment(BaseMixin,db.Model):
    __tablename__ = 'comments'

    slug = db.Column(db.String(255),nullable=False,unique=True)
    content = db.Column(db.Text,nullable=False)
    author_id = db.Column(db.Integer,db.ForeignKey('users.id'))
    author = db.relationship('User',backref=db.backref(
                'comments',lazy="dynamic"))
    article_id = db.Column(db.Integer,db.ForeignKey('articles.id'))
    article = db.relationship('Article',backref=db.backref(
                'comments',lazy='dynamic'))

    post_id = db.Column(db.Integer,db.ForeignKey('posts.id'))
    post = db.relationship('Post',backref=db.backref(
                'comments',lazy='dynamic'))

    def __init__(self,*args,**kwargs):
        if kwargs.get('content',False):
            self.content = kwargs.pop('content')
        if kwargs.get('author_id',False):
            self.author_id = kwargs.pop('author_id')
        else:
            self.author_id = None
        if kwargs.get('article_id',False):
            self.article_id = kwargs.pop('article_id')
        else:
            self.article_id = None
        if kwargs.get('slug',False):
            self.slug = kwargs.pop('slug')
        else:
            tmp = '/comments/'
            if self.article_id is not None:
                tmp += self.article_id + '/'
            if self.author_id is not None:
                tmp += self.author_id + '/'
            self.slug = tmp
        super(Comment,self).__init__(*args,**kwargs)
Пример #26
0
class DancingClassPerson(db.Model, TrackModifications):
    __tablename__ = TABLE_DANCING_CLASS_PERSON
    __table_args__ = (db.UniqueConstraint("dancing_class_id", "person_id", name="_dancing_class_person_uc"),)
    id = db.Column(db.Integer(), primary_key=True)
    dancing_class_id = db.Column(db.Integer(), db.ForeignKey(f"{TABLE_DANCING_CLASS}.id", ondelete="CASCADE"),
                                 nullable=False)
    dancing_class = db.relationship("DancingClass", lazy=False)
    person_id = db.Column(db.Integer(), db.ForeignKey(f"{TABLE_PERSON}.id", ondelete="CASCADE"), nullable=False)
    person = db.relationship("Person", lazy=False)
    passed_triage = db.Column(db.Boolean, nullable=False, default=True)
    notes = db.Column(db.String(256), nullable=True)
    dancing_class_couples_leads = db.relationship("DancingClassCouple", foreign_keys="DancingClassCouple.person_id",
                                                  cascade="all, delete, delete-orphan", lazy=False)
    dancing_class_couples_follows = db.relationship("DancingClassCouple", foreign_keys="DancingClassCouple.partner_id",
                                                    cascade="all, delete, delete-orphan", lazy=False)

    def __repr__(self):
        return f"{self.person} - {self.dancing_class}"

    @property
    def partners(self):
        return [dcc.partner.person for dcc in self.dancing_class_couples_leads] + \
               [dcc.person.person for dcc in self.dancing_class_couples_follows]

    def json(self):
        data = {
            "id": self.id,
            "person": {
                "id": self.person.id,
            },
            "email": self.person.email,
            "full_name": self.person.full_name,
            "student_number": self.person.student_number,
            "passed_triage": self.passed_triage,
            "notes": self.notes,
        }
        return data
Пример #27
0
class VarAlarmInfo(db.Model):
    __tablename__ = 'var_alarm_info'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    variable_id = db.Column(db.Integer, db.ForeignKey('yjvariableinfo.id'))
    alarm_type = db.Column(db.Integer)
    note = db.Column(db.String(128))

    logs = db.relationship('VarAlarmLog',
                           backref='var_alarm_info',
                           lazy='dynamic',
                           cascade="delete, delete-orphan")
    alarms = db.relationship('VarAlarm',
                             backref='var_alarm_info',
                             lazy='dynamic',
                             cascade="delete, delete-orphan")
Пример #28
0
class Post(db.Model):
    __tablename__ = 'post'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(20), nullable=False)
    body = db.Column(db.Text)
    timestamp = db.Column(db.DateTime, default=datetime.now, index=True)
    can_comment = db.Column(db.Boolean, default=True)

    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))

    category = db.relationship('Category', back_populates='posts')
    comments = db.relationship('Comment',
                               back_populates='post',
                               cascade='all,delete-orphan')
Пример #29
0
class Value(db.Model):
    __tablename__ = 'values'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    variable_id = db.Column(db.Integer, db.ForeignKey('yjvariableinfo.id'))
    value = db.Column(db.String(128))
    time = db.Column(db.Integer)

    def __init__(self, variable_id, value, time):
        self.variable_id = variable_id
        self.value = value
        self.time = time

    def __repr__(self):
        return '<Value {} {} {} {}'.format(self.id, self.variable_id,
                                           self.value, self.time)
Пример #30
0
class CourseInfo(db.Model):
    __tablename__ = 'courseinfo'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.Text)
    info = db.Column(db.Text)
    extrainfo = db.Column(db.Text)
    price = db.Column(db.Numeric)
    teacherid = db.Column(db.Integer, db.ForeignKey('teacherinfo.id'))
    # 订阅人数
    buynum = db.Column(db.BigInteger)
    favour = db.Column(db.Float)
    # 课程总共能学多长时间
    courselast = db.Column(db.BigInteger)
    # 列表图片
    mainimg = db.Column(db.Text)