class Auth(db.Model): __tablename__ = "auth" __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) # 编号 name = db.Column(db.String(100), unique=True) # 名称 url = db.Column(db.String(255), unique=True) # 地址 addtime = db.Column(db.DateTime, index=True, default=datetime.now) # 添加时间 def __repr__(self): return "<Auth %r>" % self.name
class Preview(db.Model): __tablename__ = "preview" __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) # 编号 title = db.Column(db.String(255), unique=True) # 标题 logo = db.Column(db.String(255), unique=True) # 封面 addtime = db.Column(db.DateTime, index=True, default=datetime.now) # 添加时间 def __repr__(self): return "<Preview %r>" % self.title
class Oplog(db.Model): __tablename__ = "oplog" __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) # 编号 admin_id = db.Column(db.Integer, db.ForeignKey('admin.id')) # 所属管理员 ip = db.Column(db.String(100)) # 操作IP reason = db.Column(db.String(600)) # 操作原因 addtime = db.Column(db.DateTime, index=True, default=datetime.now) # 登录时间 def __repr__(self): return "<Oplog %r>" % self.id
class Role(db.Model): __tablename__ = "role" __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) # 编号 name = db.Column(db.String(100), unique=True) # 名称 auths = db.Column(db.String(600)) # 角色权限列表 addtime = db.Column(db.DateTime, index=True, default=datetime.now) # 添加时间 admins = db.relationship("Admin", backref='role') # 管理员外键关系关联 def __repr__(self): return "<Role %r>" % self.name
class Article(db.Model): __tablename__ = "article" __bind_key__ = 'artcms' id = db.Column(db.Integer, primary_key=True) # 编号id title = db.Column(db.String(100), nullable=False) # 标题非空 category = db.Column(db.Integer, nullable=False) # 编号id user_id = db.Column(db.Integer, nullable=False) # 作者 logo = db.Column(db.String(100), nullable=False) # 封面 content = db.Column(db.Text, nullable=False) # 内容 add_time = db.Column(db.DateTime, nullable=False) # 发布时间 # 查询时的返回 def __repr__(self): return "<Article %r>" % self.title
class Admin(db.Model): __tablename__ = "admin" __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) # 编号 name = db.Column(db.String(100), unique=True) # 管理员账号 pwd = db.Column(db.String(100)) # 管理员密码 is_super = db.Column(db.SmallInteger) # 是否为超级管理员,0为超级管理员 role_id = db.Column(db.Integer, db.ForeignKey('role.id')) # 所属角色 addtime = db.Column(db.DateTime, index=True, default=datetime.now) # 添加时间 adminlogs = db.relationship("Adminlog", backref='admin') # 管理员登录日志外键关系关联 oplogs = db.relationship("Oplog", backref='admin') # 管理员操作日志外键关系关联 def __repr__(self): return "<Admin %r>" % self.name def check_pwd(self, pwd): from werkzeug.security import check_password_hash return check_password_hash(self.pwd, pwd)
class User(db.Model): __bind_key__ = 'artcms' __tablename__ = "user" #metadata = MetaData() __table_args__ = {'schema': 'artcms'} # {"extend_existing": True} id = db.Column(db.Integer, primary_key=True) # 编号id account = db.Column(db.String(20), nullable=False) # 账号非空 pwd = db.Column(db.String(100), nullable=False) # 密码非空 add_time = db.Column(db.DateTime, nullable=False) # 注册时间 def check_pwd(self, pwd): from werkzeug.security import check_password_hash return check_password_hash(self.pwd, pwd) # 查询时的返回 def __repr__(self): return "<User %r>" % self.account
class Userlog(db.Model): __tablename__ = "userlog" __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) # 编号 # (下面是设置外键的第一步):指向user表的id字段 user_id = db.Column(db.Integer, db.ForeignKey('user.id')) # 所属会员 ip = db.Column(db.String(100)) # ip地址 addtime = db.Column(db.DateTime, index=True, default=datetime.now) # 登录时间 def __repr__(self): return '<User %r>' % self.id
class Tag(db.Model): __tablename__ = "tag" __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) # 编号 name = db.Column(db.String(100), unique=True) # 标题 addtime = db.Column(db.DateTime, index=True, default=datetime.now) # 添加电影时间 # (设置外键的第二步)关联模型,相互关系 movies = db.relationship("Movie", backref='tag') # 电影外键关系关联 def __repr__(self): return "<Tag %r>" % self.name
class Movie(db.Model): __tablename__ = "movie" __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) # 编号 title = db.Column(db.String(255), unique=True) # 标题 url = db.Column(db.String(255), unique=True) # 地址 info = db.Column(db.Text) # 电影简介 logo = db.Column(db.String(255), unique=True) # 封面 star = db.Column(db.SmallInteger) # 星级 playnum = db.Column(db.BigInteger) # 播放量 commentnum = db.Column(db.BigInteger) # 评论量 # (设置外键第一步) tag_id = db.Column(db.Integer, db.ForeignKey('tag.id')) # 所属标签 area = db.Column(db.String(255)) # 上映地区 release_time = db.Column(db.Date) # 上映时间 length = db.Column(db.String(100)) # 播放时间 addtime = db.Column(db.DateTime, index=True, default=datetime.now) # 添加时间 comments = db.relationship("Comment", backref='movie') # 评论外键关系关联 moviecols = db.relationship("Moviecol", backref='movie') # 收藏外键关系关联 def __repr__(self): return "<Movie %r>" % self.title
class User(db.Model): __tablename__ = "user" #__bind_key__ = 'movie' __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) # 编号 name = db.Column(db.String(100), unique=True) # 昵称 pwd = db.Column(db.String(100)) # 密码 email = db.Column(db.String(100), unique=True) # 邮箱 phone = db.Column(db.String(11), unique=True) # 手机号 info = db.Column(db.Text) # 个性简介 face = db.Column(db.String(255), unique=True) # 头像 addtime = db.Column(db.DateTime, index=True, default=datetime.now) # 注册时间 uuid = db.Column(db.String(255), unique=True) # 唯一标识符 # (下面是设置外键的第二步,指向Userlog模型,进行一个互相关系的绑定) userlogs = db.relationship('Userlog', backref='user') # 会员日志外键关系关联 comments = db.relationship('Comment', backref='user') # 评论外键关系关联 moviecols = db.relationship('Moviecol', backref='user') # 收藏外键关系关联 def __repr__(self): return '<User %r>' % self.name def check_pwd(self, pwd): from werkzeug.security import check_password_hash return check_password_hash(self.pwd, pwd)