class Moviecol(db.Model): __tablename__ = 'moviecol' id = db.Column(db.Integer, primary_key=True, autoincrement=True) movie_id = db.Column(db.Integer, db.ForeignKey('movie.id')) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) addtime = db.Column(db.DateTime, index=True, default=datetime.now()) def __repr__(self): return '<Moviecol %r>' % self.id
class Comment(db.Model): __tablename__ = 'comment' id = db.Column(db.Integer, primary_key=True, autoincrement=True) movie_id = db.Column(db.Integer, db.ForeignKey('movie.id')) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) content = db.Column(db.String(255), unique=True) # 应该用Text, unique为保持数据的一致性要求掉 addtime = db.Column(db.DateTime, index=True, default=datetime.now()) def __repr__(self): return '<Comment %r>' % self.id
class Oplog(db.Model): __tablename__ = 'oplog' id = db.Column(db.Integer, primary_key=True, autoincrement=True) admin_id = db.Column(db.Integer, db.ForeignKey('admin.id')) ip = db.Column(db.String(100)) 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 Userlog(db.Model): __tablename__ = 'userlog' id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) ip = db.Column(db.String(100)) addtime = db.Column(db.DateTime, index=True, default=datetime.now()) def __repr__(self): return '<Userlog %r>' % self.id
class Movie(db.Model): __tablename__ = 'movie' id = db.Column(db.Integer, primary_key=True, autoincrement=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) tag_id = db.Column(db.Integer, db.ForeignKey('tag.id')) playnum = db.Column(db.BigInteger) commentnum = db.Column(db.BigInteger) length = db.Column(db.String(100)) area = db.Column(db.String(255)) release_time = db.Column(db.Date) # 发布时间 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 Admin(db.Model): __tablename__ = 'admin' id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(100), unique=True) pwd = db.Column(db.String(100), unique=True) is_super = db.Column(db.SmallInteger) role_id = db.Column(db.Integer, db.ForeignKey('role.id')) adminlogs = db.relationship( "Adminlog", backref='admin') # Administrator login record foreign key oplogs = db.relationship( "Oplog", backref='admin') # administrator login foreign key addtime = db.Column(db.DateTime, index=True, default=datetime.now()) 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)