class Admin(BaseModel): __tablename__ = 'admin' 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')) # 所属角色 add_time = db.Column(db.DateTime, index=True, default=datetime.datetime.utcnow) # 添加时间 adminlogs = db.relationship( 'AdminLog', backref='admin') # 管理员日志外键关系关联,backref互相绑定admin表 operatelogs = db.relationship('OperateLog', backref='operatelog') # 管理员操作日志外键关系关联
class Comment(db.Model): __tablename__ = 'comment' id = db.Column(db.Integer, primary_key=True, autoincrement=True) content = db.Column(db.Text, nullable=False) create_time = db.Column(db.DateTime, default=datetime.now) # 外键1 question_id = db.Column(db.Integer, db.ForeignKey('question.id')) # 外键2 author_id = db.Column(db.Integer, db.ForeignKey('user.id')) # 参数order_by = create_time.desc()表示获取question对应的comments时是按时间倒序的 question = db.relationship('Question', backref=db.backref('comments', order_by=create_time.desc())) author = db.relationship('User', backref=db.backref('comments'))
class Tag(BaseModel): __tablename__ = 'tag' name = db.Column(db.String(100), unique=True) # 标题 add_time = db.Column(db.DateTime, index=True, default=datetime.datetime.utcnow) # 添加时间 movies = db.relationship('Movie', backref='tag') # 电影外键关系关联
class Category(db.Model): id = db.Column(db.Integer, autoincrement=True, primary_key=True) catename = db.Column(db.String(100), unique=True) as_name = db.Column(db.String(20), unique=True) key_word = db.Column(db.String(100)) descri = db.Column(db.String(200)) arts = db.relationship('ArtMoel', backref='my_category', lazy=True)
class Movie(BaseModel): __tablename__ = 'movie' 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) # 星级 play_num = db.Column(db.BigInteger) # 播放量 comment_num = 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)) # 播放时长 add_time = db.Column(db.DateTime, index=True, default=datetime.datetime.utcnow) # 添加时间 comments = db.relationship('Comment', backref='movie') # 用户评论外键关系关联 moviecollects = db.relationship('MovieCollect', backref='movie') # 用户收藏电影外键关系关联
class Catalog(db.Model): id = db.Column(db.Integer, autoincrement=True, primary_key=True) category = db.Column(db.String(200)) catename = db.Column(db.String(200)) keypassword = db.Column(db.String(20)) said = db.Column(db.String(200)) articles = db.relationship('Article', backref='my_catalog', lazy=True)
class MyColumn(db.Model): id = db.Column(db.Integer, autoincrement=True, primary_key=True) name = db.Column(db.String(32), unique=True) #名称 other_name = db.Column(db.String(32)) #别名 key_word = db.Column(db.String(32)) #关键字 desc = db.Column(db.String(255)) #描述 # 文章反查 articles = db.relationship('Article',backref='column',lazy=True)
class Article(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(200), unique=True) context = db.Column(db.String(5000)) date = db.Column(db.DateTime, default='2018-10-12 11:12:40') tag = db.Column(db.String(50)) press = db.Column(db.Integer, default=0) myclassify = db.Column(db.Integer, db.ForeignKey(Classify.id)) my_press = db.relationship('Mypress', backref='my_article', lazy=True)
class Classify(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(120), unique=True) mycount = db.Column(db.Integer, default=0) another_name = db.Column(db.String(120), unique=True) articles = db.relationship('Article', backref='my_classify', lazy=True) def __str__(self): return self.name
class Artical(db.Model): artical_id = db.Column(db.Integer, primary_key=True, autoincrement=True) artical_title = db.Column(db.String(100), unique=True) artical_content = db.Column(db.Text()) artical_keywords = db.Column(db.String(100)) art_descrip = db.Column(db.Text()) artical_tag = db.Column(db.String(100)) class_id = db.Column(db.Integer, db.ForeignKey(Classfy.class_id)) clsfy = db.relationship('Classfy', backref='articals', lazy=True)
class Role(BaseModel): __tablename__ = 'role' name = db.Column(db.String(100), unique=True) # 角色名称 auths = db.Column(db.String(600)) # 权限列表 add_time = db.Column(db.DateTime, index=True, default=datetime.datetime.utcnow) # 添加时间 admins = db.relationship('Admin', backref='role') # 管理员外键关系关联,backref互相绑定role表
class Classification(db.Model): __tablename__ = 'classification' # 表名 id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(20), unique=True) alias = db.Column(db.String(20)) keyword = db.Column(db.String(20)) content = db.Column(db.String(1000)) parentnode = db.Column(db.String(20)) num = db.Column(db.Integer, default=0) articles = db.relationship('Article', backref='article', lazy='dynamic')
class Question(db.Model): __tablename__ = 'question' id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(100), nullable=False) desc = db.Column(db.Text, nullable=False) # 注意是:datetime.now。now是每次创建一个模型的时候都获取当前时间,now()是服务器第一次运行的时间 create_time = db.Column(db.DateTime, default=datetime.now) # 使用外键,db.ForeignKey('user.id')指定外键用到的是user表的id字段 author_id = db.Column(db.Integer, db.ForeignKey('user.id')) # 建立关系屬性,参数1表示要引用的模型,参数2指定反转时要用到的属性,就是User模型通过哪个属性来获取当前用户发布的所有问题 author = db.relationship('User', backref=db.backref('questions'))
class Classification(db.Model): id = db.Column(db.Integer, autoincrement=True, primary_key=True) name = db.Column(db.String(100), unique=True) alias = db.Column(db.String(100)) # 别名 keyword = db.Column(db.String(100)) # 关键字 parentnode = db.Column(db.String(50)) # 父节点 describe = db.Column(db.Text) # 描述 # 关系,关联文章 contents = db.relationship('Content', backref='my_classification', lazy='dynamic')
class Classification(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(100), unique=True) alias = db.Column(db.String(100)) keyword = db.Column(db.String(100)) parentnode = db.Column(db.String(100)) describe = db.Column(db.Text) # 建立一个关系 是让2个模型建立关系,不会在数据库中创建字段的 # 这里是反向关联,用分类中的属性联系到文章 contents = db.relationship("Content", backref="my_classification", lazy="dynamic")
class Category(db.Model): # Classification __tablename__ = 'category' # 表名 id = db.Column(db.Integer, primary_key=True, autoincrement=True) # 分类名 name = db.Column(db.String(50), unique=True) # 分类别名 alias = db.Column(db.String(50)) # 关键字 keyword = db.Column(db.String(50)) # 内容 content = db.Column(db.Text) # 父节点 parentnode = db.Column(db.String(50)) # 文章类外键 num = db.Column(db.Integer, default=0) articles = db.relationship('Article', backref='article', lazy='dynamic')
class ArticleClass(db.Model): id = db.Column(db.Integer, autoincrement=True, primary_key=True) name = db.Column(db.String(20), unique=True) articles = db.relationship('Article', backref='my_article', lazy=True)
class Category(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(20)) alias = db.Column(db.String(20)) count = db.Column(db.Integer) articles = db.relationship("Article", backref="c", lazy=True)
class Sort(db.Model): id = db.Column(db.Integer, autoincrement=True, primary_key=True) name = db.Column(db.String(100), unique=True) othername = db.Column(db.String(100), unique=True) num = db.Column(db.Integer) ars = db.relationship('Article', backref="s", lazy=True)
class BlogType(db.Model): id = db.Column(db.Integer, autoincrement=True, primary_key=True) typename = db.Column(db.String(20)) blogs = db.relationship("Blog", backref="my_blogtype", lazy=True)
class CityLetter(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) letter = db.Column(db.String(3)) citys = db.relationship('City', backref='city_letter', lazy='dynamic')
class Lanmu(db.Model): id = db.Column(db.Integer,primary_key=True,autoincrement=True) name = db.Column(db.String(100),unique=True) another_name = db.Column(db.String(100),unique=True) articles = db.relationship('Article',backref='my_lanmu',lazy='dynamic')