示例#1
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    phone = db.Column(db.Text(11), nullable=False)
    username = db.Column(db.Text(50), nullable=False)
    password = db.Column(db.Text(100), nullable=False)


# class Question(db.Model):
#     __tablename__ = 'question'
#     id = db.Column(db.Integer, primary_key = True, autoincrement = True)
#     title = db.Column(db.String(100), nullable = False)
#     content = db.Column(db.Text(), nullable = False)
#     create_time = db.Column(db.DateTime, default=datetime.now)
#     author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
#
#     author = db.relationship('User', backref = db.backref('questions'))
#
# class Comment(db.Model):
#     __tablename__ = 'comment'
#     id = db.Column(db.Integer, primary_key = True, autoincrement = True)
#     comment = db.Column(db.Text(), nullable = False)
#
#     question_id = db.Column(db.Integer, db.ForeignKey('question.id'))
#     comment_author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
#
#     question_id = db.relationship('Question', backref=db('comment'))
#     comment_author_id = db.relationship('User', backref=db('comment'))
示例#2
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    username = db.Column(db.Text(100), nullable=False)
    age = db.Column(db.String(100), nullable=False)
    telephon = db.Column(db.String(100), nullable=False)
    password = db.Column(db.Text(100), nullable=False)
    usertype = db.Column(db.String(100), nullable=False)
    sex = db.Column(db.Text(100), nullable=False)
    avatar = db.Column(db.Text, nullable=True)
    birthday = db.Column(db.String(100), nullable=False)
    userbgimg = db.Column(db.Text, nullable=True)
示例#3
0
class User(db.Model):
    """
    表名user
    id:主键
    username:用户名
    _password:password 密码 sha256加密
    email:邮箱
    join_time:用户注册时间
    """
    __bind_key__ = bind_key
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(50), nullable=False)
    _password = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(25), nullable=False)
    sign = db.Column(db.String(70), default="")
    gender = db.Column(db.Boolean, default=False)
    coins = db.Column(db.Integer, default=0)
    vip = db.Column(db.Integer, default=0)
    vip_end = db.Column(db.DateTime)
    join_time = db.Column(db.DateTime, default=datetime.now)
    collections = db.Column(db.Text(5000))
    fans = db.Column(db.Text(10000))
    followings = db.Column(db.Text(10000))
    avatar = db.Column(db.String(100))
    background = db.Column(db.String(100))
    video_name_temp = db.Column(db.String(100))
    cover_name_temp = db.Column(db.String(100))
    think_name_temp = db.Column(db.String(100))

    def __init__(self, username, password, email):
        self.username = username
        self.password = password
        self.email = email

    @property
    def password(self):
        return self._password

    # hash加密
    @password.setter
    def password(self, raw_password):
        self._password = generate_password_hash(raw_password)

    # 验证密码
    def check_password(self, raw_password):
        result = check_password_hash(self.password, raw_password)
        return result
示例#4
0
class WechatArticle(db.Model):
    '''
        公众号文章
    '''
    __tablename__ = 'wechat_article'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    account = db.Column(db.String(255), nullable=True, comment='公众号名称')
    title = db.Column(db.String(255), nullable=True, comment='公众号标题')
    url = db.Column(db.String(255), nullable=True, comment='公众号的url')
    author = db.Column(db.String(50), nullable=True, comment='工作中号发布的作者')
    publish_time = db.Column(db.DateTime, nullable=True, comment='文章发布时间')

    digest = db.Column(db.String(50), nullable=True, comment='公众号文章描述')
    cover = db.Column(db.String(50), nullable=True, comment='公众号文章封面')
    pics_url = db.Column(db.TEXT, nullable=True, comment='公众号文章中图片列表')
    content_html = db.Column(db.Text(16777216),
                             nullable=True,
                             comment='公众号文章中心内容')
    source_url = db.Column(db.String(255), nullable=True, comment='公众号文章源连接')
    comment_id = db.Column(db.String(50), nullable=True, comment='公众号文章评论id')
    sn = db.Column(db.String(50), nullable=True, unique=True, comment='')
    spider_time = db.Column(db.DateTime, nullable=True, comment='公众号抓取时间')
    flag = db.Column(db.Integer,
                     nullable=True,
                     default=0,
                     comment='flag标志,默认为0 普通,1为精华')
    is_hide = db.Column(db.Integer,
                        nullable=True,
                        default=0,
                        comment='文章是否隐藏不对外显示,默认0不隐藏')
    re_spider = db.Column(db.Integer,
                          nullable=True,
                          default=0,
                          comment='是否回采文章,0默认、1失败、2完成')
示例#5
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), unique=False, default="", index=True)
    phone = db.Column(db.String(255), unique=True, default="", index=True)
    email = db.Column(db.String(255), unique=True, default="", index=True)
    password = db.Column(db.String(255), default="")
    info = db.Column(db.Text(), default="")
    avatar_url = db.Column(db.String(1024), default="")
    gender = db.Column(db.SmallInteger(), default=-1)
    status = db.Column(db.SmallInteger(), default=0, index=True)
    create_time = db.Column(db.DateTime(), server_default=func.now())
    update_time = db.Column(db.DateTime(),
                            server_default=func.now(),
                            onupdate=func.now())

    def is_authenticated(self):
        return True

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return str(self.id).encode("utf-8").decode("utf-8")
示例#6
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    telephone = db.Column(db.String(11), nullable=False)
    username = db.Column(db.String(50), nullable=False)
    password = db.Column(db.String(100), nullable=False)
    about_me = db.Column(db.Text(100),
                         nullable=False,
                         default='这个人很懒,什么都没留下...')
    is_admin = db.Column(db.Boolean, default=False)

    def __init__(self, *args, **kwargs):
        telephone = kwargs.get('telephone')
        username = kwargs.get('username')
        password = kwargs.get('password')

        self.telephone = telephone
        self.username = username
        self.password = generate_password_hash(password)

    def check_password(self, raw_password):
        result = check_password_hash(self.password, raw_password)
        return result

    def check_admin(self):
        return self.is_admin
示例#7
0
class Question(db.Model):
    __tablename__ = 'question'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text(), nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.now)
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    author = db.relationship('User', backref=db.backref('questions'))
示例#8
0
class BugList(db.Model):
    __tablename__ = 'buglist'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    oldurl = db.Column(db.String(50), nullable=True)
    bugurl = db.Column(db.String(200), nullable=True)
    bugname = db.Column(db.String(100), nullable=False)
    buggrade = db.Column(db.String(7), nullable=False)
    payload = db.Column(db.String(200), nullable=True)
    bugdetail = db.Column(db.Text(16777216), nullable=True)
示例#9
0
class DomainInfo(db.Model):
    __tablename__ = 'domaininfo'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    baseinfoid = db.Column(db.Integer, nullable=False)
    subdomain = db.Column(db.Text, nullable=True)
    whois = db.Column(db.Text, nullable=True)
    bindingip = db.Column(db.Text, nullable=True)
    sitestation = db.Column(db.Text, nullable=True)
    recordinfo = db.Column(db.Text(16777216), nullable=True)
    domainaddr = db.Column(db.String(200), nullable=True)
示例#10
0
class Video(db.Model):
    __bind_key__ = bind_key
    __tablename__ = 'video'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    video = db.Column(db.String(100))
    cover = db.Column(db.String(100))
    title = db.Column(db.String(100))
    type = db.Column(db.Integer, default=0)
    sign = db.Column(db.String(250))
    duration = db.Column(db.String(80))
    collections = db.Column(db.Integer, default=0)
    coins = db.Column(db.Integer, default=0)
    views = db.Column(db.Text(10000))
    comments = db.Column(db.Integer, default=0)
    danmuku = db.Column(db.Integer, default=0)
    likes_user = db.Column(db.Text(10000))
    upload_time = db.Column(db.DateTime, default=datetime.now)
    # 建立外键关联
    uid = db.Column(db.Integer, db.ForeignKey("user.id"))
    author = relationship("User", backref="videos")
示例#11
0
class Log(db.Model):
    __tablename__ = 'log'
    ID = db.Column(db.Integer, primary_key=True, autoincrement=True)
    # 级别 DEBUG调试 INFO信息 WARN警告 ERROR异常
    level = db.Column(db.String(10), nullable=False)
    # 信息
    message = db.Column(db.Text(10), nullable=False)
    create_at = db.Column(db.DateTime, default=datetime.now)

    def add(self):
        db.session.add(self)
        db.session.commit()
示例#12
0
class Comment(db.Model):
    __tablename__ = 'comment'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    comment = db.Column(db.Text(), nullable=False)

    question_id = db.Column(db.Integer, db.ForeignKey('question.id'))
    comment_author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    create_time = db.Column(db.DateTime, default=datetime.now)

    question = db.relationship(
        'Question', backref=db.backref('question'))  #, backref=db('question'))
    comment_author = db.relationship('User', backref=db.backref('question'))
示例#13
0
class Asset(db.Model):
    '''
    资产类
    '''
    __tablename__ = 'asset'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    web_servers = db.Column(db.String(255))
    javascript_frameworks = db.Column(db.String(255))
    programming_languages = db.Column(db.String(255))
    web_frameworks = db.Column(db.String(255))
    operating_systems = db.Column(db.String(255))
    cms = db.Column(db.String(255))
    url = db.Column(db.String(255), unique=True)
    ip = db.Column(db.String(255))
    ports = db.Column(db.Text)
    title = db.Column(db.String(255))
    other = db.Column(db.Text(16777216))
    header = db.Column(db.Text(16777216))
    body = db.Column(db.Text(16777216))
    upgrade_time = db.Column(db.DateTime, default=None)
    statue = db.Column(db.Integer, default=0, nullable=False)
示例#14
0
class PostModel(db.Model):
    __tablename__ = 'post'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(50), nullable=False)
    content = db.Column(db.Text(), nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.now)
    board_id = db.Column(db.Integer, db.ForeignKey('board.id'))
    author_id = db.Column(db.String(100),
                          db.ForeignKey('front_user.id'),
                          nullable=False)

    board = db.relationship('BoardModel', backref='posts')

    author = db.relationship('FrontUser', backref='posts')
示例#15
0
class Comment(db.Model):
    __bind_key__ = bind_key
    __tablename__ = 'comment'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    content = db.Column(db.String(500), nullable=False)
    likes_user = db.Column(db.Text(10000))
    upload_time = db.Column(db.DateTime, default=datetime.now)
    # 建立外键关联
    uid = db.Column(db.Integer, db.ForeignKey("user.id"))
    author = relationship("User", backref="comments_user")
    target = db.Column(
        db.Integer,
        db.ForeignKey("video.id", ondelete='CASCADE', onupdate='CASCADE'))
    replay_id = db.Column(
        db.Integer,
        db.ForeignKey("comment.id", ondelete='CASCADE', onupdate='CASCADE'))
示例#16
0
class User(UserMixin, db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    email = db.Column(db.String(50), nullable=False, index=True, unique=True)
    telephone = db.Column(db.String(11), nullable=False)
    username = db.Column(db.String(50), nullable=False)
    password_hash = db.Column(db.String(128), nullable=False)
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
    location = db.Column(db.String(64))
    about_me = db.Column(db.Text())
    member_since = db.Column(db.DateTime(), default=datetime.utcnow)
    last_seen = db.Column(db.DateTime(), default=datetime.utcnow)
    courses = db.relationship('Course',
                              secondary=follows,
                              backref=db.backref('users', lazy='dynamic'),
                              lazy='dynamic')
    comments = db.relationship('Comment',
                               backref=db.backref('user'),
                               lazy='dynamic')

    #todo:need to handle

    def __init__(self, **kwargs):
        super(User, self).__init__(**kwargs)
        if self.role is None:
            if self.email == current_app.config['FLASK_ADMIN']:
                self.role = Role.query.filter_by(name='Administrator').first()
            if self.role is None:
                self.role = Role.query.filter_by(default=True).first()

    @property
    def password(self):
        raise AttributeError('password is not a readable attribute')

    @password.setter
    def password(self, password):
        self.password_hash = generate_password_hash(password)

    def verify_password(self, password):
        return check_password_hash(self.password_hash, password)

    def can(self, perm):
        return self.role is not None and self.role.has_permission(perm)

    def is_administrator(self):
        return self.can(Permission.ADMIN)
示例#17
0
class BbsCategory(db.Model):
    __tablename__ = 'bbs_category'

    cid = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=False)  # 主键
    classname = db.Column(db.String(60), nullable=False)  # 版块名称
    parentid = db.Column(db.Integer, nullable=False,default=1)  # 版块ID 0=大板块   1=小版块

    classpath = db.Column(db.Integer,default=0)  # 父版块CID
    replycount = db.Column(db.Integer, nullable=False, default=0)  # 回贴数量
    motifcount = db.Column(db.Integer, nullable=False, default=0)  # 帖子数量

    compere = db.Column(db.String(10), default='NULL')  # 版主
    classpic = db.Column(db.String(255), nullable=False, default='../static/images/forum.gif')  # 版块ICON
    description = db.Column(db.Text(1000), default='NULL')  # 版块描述

    orderby = db.Column(db.SmallInteger, nullable=False, default=0)  # 排序
    lastpost = db.Column(db.String(255), default='NULL')  # 最后发表
    namestyle = db.Column(db.String(10), default='NULL')

    ispass = db.Column(db.SmallInteger, nullable=False, default=1)  # 审核状态

    def __str__(self):
        return self.cid
示例#18
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    phone = db.Column(db.Text(11), nullable=False)
    username = db.Column(db.Text(50), nullable=False)
    password = db.Column(db.Text(100), nullable=False)