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'))
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)
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
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完成')
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")
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
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 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)
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)
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")
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()
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'))
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)
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')
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'))
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)
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
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)