from datetime import datetime
# 导入db对象
from app import db
# 会员数据库表
class User(db.Model):
__tablename__ = "user"
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(20), unique=True)
phone = db.Column(db.String(11), unique=True)
info = db.Column(db.Text) # 个性简介
face = db.Column(db.String(255), unique=True) # 头像
# index=True, 代表创建索引, 查询效率高;
addtime = db.Column(db.DateTime, index=True, default=datetime.now()) # 创建时间
uuid = db.Column(db.String(255), unique=True) # 唯一标识符
# UerLog的外键关联
userlogs = db.relationship('Userlog', backref='user')
# Comment的外键关联
comments = db.relationship('Comment', backref='user')
# Moviecol的外键关联
moviecols = db.relationship('Moviecol', backref='user')
def check_pwd(self, pwd):
"""
数据库中直接存放明文密码是很危险的,Werkzeug库中的security能够方便的实现散列密码的计算
security库中 generate_password_hash(password,method...)
函数将原始密码作为输入,以字符串形式输出密码的散列值
check_password_hash(hash,password)
函数检查给出的hash密码与明文密码是否相符
"""
from werkzeug.security import check_password_hash
return check_password_hash(self.pwd, pwd)
def __repr__(self):
return "<User %r>" % (self.name)
# 会员登录日志
class Userlog(db.Model):
__tablename__ = "userlog"
id = db.Column(db.Integer, primary_key=True) # 编号
# 所属会员, 与User表中的id关联;
user_id =
Flask微电影管理系统 models.py
最新推荐文章于 2024-06-17 09:31:11 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)