class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) def save(self): db.session.add(self) db.session.commit()
class Banji(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(16), unique=True) #和Student模型建立关系,不是字段. #参数1 关联的 模型名称 #2 反向查找的名称 # 懒加载 students = db.relationship('Student', backref='bj', lazy=True)
class News(db.Model): __tablename__ = "news" id = db.Column(db.Integer, primary_key=True, autoincrement=True, unique=True) n_title = db.Column(db.String(32), nullable=True) n_content = db.Column(db.String(256))
class Usermovie(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(16), unique=True) age = db.Column(db.String(16), default=1) movies = db.relationship('Movie', backref='usermovies', lazy=True, secondary=collection)
class Student(db.Model): __tablename__ = "student" id = db.Column(db.Integer, primary_key=True, autoincrement=True) s_name = db.Column(db.String(16), unique=True) _s_password = db.Column(db.String(256), nullable=True) s_phone = db.Column(db.String(32), unique=True) @property def s_password(self): raise Exception("Error Action : password can't be access.") @s_password.setter def s_password(self, value): self._s_password = generate_password_hash(value) def check_password(self, password): return check_password_hash(self._s_password, password)
class Job(BaseModel): __tablename__ = "job" job_publisher_id = db.Column(db.Integer, db.ForeignKey(Enterpriser.id), nullable=False) job_name = db.Column(db.String(128), nullable=False) job_category = db.Column(db.String(32), nullable=False) # eg(研发 运营) workplace = db.Column(db.String(64), nullable=False) post_time = db.Column(db.DateTime, default=datetime.now(), onupdate=datetime.now()) job_type = db.Column(db.String(32), default="全职", nullable=False) job_desc = db.Column(db.Text) job_requirement = db.Column(db.Text) is_delete = db.Column(db.Boolean, default=False) # 招聘信息是否被删除
class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, primary_key=True, autoincrement=True, unique=True) username = db.Column(db.String(50), nullable=False) password = db.Column(db.String(300), nullable=False) def __init__(self, *args, **kwargs): username = kwargs.get('username') password = kwargs.get('password') self.username = username self.password = password def check_password(self, raw_password): result = check_password_hash(self.password, raw_password) return result
class Seeker(BaseModel): __tablename__ = "seeker" username = db.Column(db.String(32), unique=True) _password = db.Column(db.String(256)) phone = db.Column(db.String(32), unique=True) is_delete = db.Column(db.Boolean, default=False) email = db.Column(db.String(64)) # is_verify = db.Column(db.Boolean, default=False) @property def password(self): raise Exception("can't access password") @password.setter def password(self, password_value): self._password = generate_password_hash(password_value) def check_password(self, password_value): return check_password_hash(self._password, password_value)
class Post(db.Model): __tablename__ = 'post' id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=False) author_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) # table_name.key created = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) title = db.Column(db.Text, nullable=False) body = db.Column(db.Text, nullable=False) author = db.relationship('User', backref=db.backref('posts')) # 所有属性值都要初始化(有些有默认值的可以不显示初始化) def __init__(self, *args, **kwargs): self.author_id = kwargs.get('author_id') self.title = kwargs.get('title') self.body = kwargs.get('body') def to_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns}
class BaseModel(db.Model): __abstract__ = True id = db.Column(db.Integer, primary_key=True, autoincrement=True) def save(self): try: db.session.add(self) db.session.commit() return True except Exception as e: print(e) return False def delete(self): try: db.session.delete(self) db.session.commit() return True except Exception as e: print(e) return False
class Resume(BaseModel): __tablename__ = "resume" # s_id、j_id、e_id 三个作为联合主键 j_id = db.Column(db.Integer, nullable=False) s_id = db.Column(db.Integer, nullable=False) e_id = db.Column(db.Integer, nullable=False) resume_file_name = db.Column(db.String(128), unique=True) username = db.Column(db.String(64), nullable=False) phone = db.Column(db.String(32)) email = db.Column(db.String(64), nullable=False) idcard = db.Column(db.String(64), nullable=False) sex = db.Column(db.String(8), nullable=False) birthday = db.Column(db.String(64), nullable=False) created = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) job_type = db.Column(db.String(32), default="全职", nullable=False) job_name = db.Column(db.String(128), nullable=False) job_category = db.Column(db.String(32), nullable=False) # eg(研发 运营) workplace = db.Column(db.String(64), nullable=False) enterprise = db.Column(db.String(128)) education = db.Column(db.Text) campus = db.Column(db.Text) competition = db.Column(db.Text) internship = db.Column(db.Text)
class Use(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(20))
class Person(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False)
#2 反向查找的名称 # 懒加载 students = db.relationship('Student', backref='bj', lazy=True) class Student(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(16), unique=True) age = db.Column(db.String(16), default=1) banji = db.Column(db.Integer, db.ForeignKey(Banji.id)) collection = db.Table( 'collection', db.Column('usermovie_id', db.Integer, db.ForeignKey('usermovie.id'), primary_key=True), db.Column('movie_id', db.Integer, db.ForeignKey('movie.id'), primary_key=True), ) class Usermovie(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(16), unique=True) age = db.Column(db.String(16), default=1) movies = db.relationship('Movie', backref='usermovies', lazy=True,
class Student(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(16), unique=True) age = db.Column(db.String(16), default=1) banji = db.Column(db.Integer, db.ForeignKey(Banji.id))
class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, primary_key=True, autoincrement=True) username = db.Column(db.String(100), unique=True, nullable=False) password = db.Column(db.String(100), nullable=False) email = db.Column(db.String(50), nullable=False)
class Person(db.Model): __tablename__ = 'person' id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(16), unique=True) age = db.Column(db.Integer)
class SeekerJob(db.Model): __tablename__ = "seeker_job" s_id = db.Column(db.Integer, nullable=False) j_id = db.Column(db.Integer, nullable=False)
class Movie(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(16), unique=True)