class Article(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255)) photo = db.Column(db.Text(255)) content = db.Column(db.Text()) user_id = db.Column(db.Integer, primary_key=True) category = db.Column(db.String(255)) date_created = db.Column(db.DateTime(), default=db.func.now())
class Rating(db.Model): id = db.Column(db.Integer,primary_key=True) lecture = db.relationship('Lecture', backref=db.backref('rating_lecture', cascade='all, delete-orphan', lazy='dynamic')) lecture_id = db.Column(db.Integer, db.ForeignKey(Lecture.id)) user = db.relationship('User', backref=db.backref('rating_user', cascade='all, delete-orphan', lazy='dynamic')) user_id = db.Column(db.Integer, db.ForeignKey(User.id)) total = db.Column(db.Integer, default =0) difficulty = db.Column(db.Integer, default =0) study_time = db.Column(db.Integer, default =0) attendance = db.Column(db.Integer, default =0) grade = db.Column(db.Integer, default =0) achievement = db.Column(db.Integer, default =0) opinion = db.Column(db.Text()) joinDATE = db.Column(db.DateTime(),default = get_current_time) def ev2(self): ev2 = self.difficulty /5 * 100 return ev2 def ev3(self): ev3 = self.study_time /5 * 100 return ev3 def ev4(self): ev4 = self.attendance /5 * 100 return ev4 def ev5(self): ev5 = self.grade /5 * 100 return ev5 def ev6(self): ev6 = self.achievement /5 * 100 return ev6
class Event(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255)) title_cal = db.Column(db.String(255)) content = db.Column(db.Text()) host = db.Column(db.String(255)) category_char = db.Column(db.String(255)) category_host = db.Column(db.String(255)) date_created = db.Column(db.DateTime(), default=db.func.now()) date_start = db.Column(db.String(255)) # date_start_year = db.Column(db.Integer) # date_start_month = db.Column(db.Integer) # date_start_day = db.Column(db.Integer) # date_start_hour = db.Column(db.Integer) # date_start_minute = db.Column(db.Integer) date_end = db.Column(db.String(255)) # date_end_year = db.Column(db.Integer) # date_end_month = db.Column(db.Integer) # date_end_day = db.Column(db.Integer) # date_end_hour = db.Column(db.Integer) # date_end_minute = db.Column(db.Integer) location = db.Column(db.String(255)) link = db.Column(db.String(255)) poster = db.Column(db.String(255)) contact = db.Column(db.String(255)) contact_open = db.Column(db.Boolean())
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True) article_id = db.Column(db.Integer, db.ForeignKey('article.id')) artlcle = db.relationship('Article', backref=db.backref('comments', cascade='all, delete-orphan', lazy='dynamic')) # Bidirection relationship ''' class User(Base): __tablename__ = 'user' id = Column(Integer, primary_key=True) name = Column(String) addresses = relationship("Address", backref="user") class Address(Base): __tablename__ = 'address' id = Column(Integer, primary_key=True) email = Column(String) user_id = Column(Integer, ForeignKey('user.id')) ''' author = db.Column(db.String(255)) email = db.Column(db.String(255)) password = db.Column(db.String(255)) content = db.Column(db.Text()) date_created = db.Column(db.DateTime(), default=db.func.now()) likecount = db.Column(db.Integer, default=0, nullable=False) commentcheck = db.Column(db.Integer, default=0, nullable=False)
class Process(db.Model): id_P = db.Column(db.Integer, primary_key=True) content = db.Column(db.Text()) #key = A_id = db.Column(db.Integer, db.ForeignKey('article.id')) article = db.relationship('Article', backref=db.backref('comments', cascade='all, delete-orphan', lazy='dynamic'))
class Member(UserMixin, db.Model): __tablename__ = 'cmf_member' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(50)) nickname = db.Column(db.String(50)) nation = db.Column(db.String(50)) birth_day = db.Column(db.String(50)) motto = db.Column(db.String(50)) mobile = db.Column(db.String(12)) address = db.Column(db.String(50)) resume = db.Column(db.Text(5000)) userpass = db.Column(db.String, default="123456") add_time = db.Column(db.Integer, default=int(time.time())) @property def password(self): return self.userpass # 定义一个赋值的方法 @password.setter def password(self, pwd): self.userpass = generate_password_hash(pwd) def check_password(self, pwd): return check_password_hash(self.userpass, pwd) def __init__(self, **kwargs): super(Member, self).__init__(**kwargs) def __repr__(self): return '<Member: %r>' % self.username
class Job(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.String(255), db.ForeignKey(User.id)) user = db.relationship('User', backref=db.backref('jobs', cascade='all, delete-orphan')) write_date = db.Column(db.DateTime(), default=db.func.now()) # 분과 department=db.Column(db.String(255)) # 전공 major=db.Column(db.String(255),default=u"없음") # 닉네임 nic_name=db.Column(db.String(255),default=u"진로켓 유저") # 진로 job=db.Column(db.String(255),default=u"없음") # 학과 한 줄평 major_comment=db.Column(db.String(255),default=u"좋습니다.") # 학과 이야기 major_story=db.Column(db.Text(65535),default=u"학과 분위기와 진로등 모두 만족합니다.") # 학과 만족도 major_like=db.Column(db.String(255)) # 복수전공 유무(y/n) check_double_major=db.Column(db.String(255)) # 복수전공 과목 double_major=db.Column(db.String(255),default=u"없음") # 진로를 선택하게 된 이유 job_reason=db.Column(db.Text(65535),default=u"일반적으로 가는 진로라서 선택하였습니다.") # 진로와의 상관관계 점수(전공/자격증/복수전공/대외활동/독서) # 전공 공부 point_major=db.Column(db.String(255)) # 자격증 point_licence=db.Column(db.String(255)) # 복수전공 point_double_major=db.Column(db.String(255)) # 독서 point_reading=db.Column(db.String(255)) # 대외활동 point_extra=db.Column(db.String(255)) # 추가 사항(1~2) 우선 해당 내용 추가 안함. 오픈베타 시작 후 ajax이용해서 비동기식 point_ex_1=db.Column(db.String(255)) point_ex_2=db.Column(db.String(255)) def json_dump(self): return dict(job=self.job, count=0)
class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(255), primary_key=True) name = db.Column(db.String(255), nullable=False) password = db.Column(db.String(255), nullable=False) country = db.Column(db.String(255), nullable=False) region = db.Column(db.String(255), nullable=False) gender = db.Column(db.String(255), nullable=False) orgin_school = db.Column(db.String(255), nullable=False) korea_school = db.Column(db.String(255), nullable=False) nickname = db.Column(db.String(255)) intro = db.Column(db.Text()) hobby = db.Column(db.Text()) like = db.Column(db.Text()) state = db.Column(db.String(20)) checkcode = db.Column(db.Integer)
class Article(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255)) content = db.Column(db.Text()) author = db.Column(db.String(255)) category = db.Column(db.String(255)) like = db.Column(db.Integer, default=0) date_created = db.Column(db.DateTime())
class I_Univ(db.Model): __tablename__ = 'i_univ' univ_id = db.Column(db.Integer, primary_key=True) univ_name = db.Column(db.String(255)) nation = db.Column(db.String(255)) state = db.Column(db.String(255), default="none") city = db.Column(db.String(255)) avg_credit = db.Column(db.Integer) eng_score = db.Column(db.Integer) student = db.Column(db.Integer) tuition = db.Column(db.Integer) cost = db.Column(db.Integer) house = db.Column(db.Integer) term = db.Column(db.Integer) content = db.Column(db.Text()) photo = db.Column(db.Text()) date_created = db.Column(db.DateTime(), default=db.func.now())
class Forum(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255)) content = db.Column(db.Text()) author = db.Column(db.String(255)) date_created = db.Column(db.DateTime(), default=db.func.now()) univ_id = db.Column(db.Integer) photo = db.Column(db.String(255))
class Humor(db.Model): __tablename__ = 'humor' id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255)) content = db.Column(db.Text()) author = db.Column(db.String(255)) date_created = db.Column(db.DateTime(), default=db.func.now()) univ_id = db.Column(db.Integer) photo = db.Column(db.String(255))
class Article(db.Model): #db.Model is already defined by module. id = db.Column(db.Integer, primary_key=True) #db.Column, id is received as Column and its format is Integer #db.Column can make setting of table column title = db.Column(db.String(255)) # String is limited to 255 alphabets content = db.Column(db.Text()) author = db.Column(db.String(255)) category = db.Column(db.String(255)) date_created = db.Column(db.DateTime(), default=db.func.now())
class Message(db.Model): __tablename__ = 'message' id = db.Column(db.Integer(), primary_key=True) subject = db.Column(db.String(255)) text = db.Column(db.Text()) user = db.Column(db.Integer(), db.ForeignKey('auth_user.id')) read = db.Column(db.Boolean, server_default='0') date_created = db.Column(db.DateTime, default=db.func.current_timestamp()) def __json__(self): return ['id', 'subject', 'text', 'user', 'read', 'date_created']
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True) article_id = db.Column(db.Integer, db.ForeignKey('article.id')) article = db.relationship('Article', backref=db.backref('comments', cascade='all, delete-orphan', lazy='dynamic')) author = db.Column(db.String(255)) mail = db.Column(db.String(255)) password = db.Column(db.String(255)) content = db.Column(db.Text()) date_created = db.Column(db.DateTime(), default=db.func.now())
class Event(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255)) title_cal = db.Column(db.String(255)) content = db.Column(db.Text()) host = db.Column(db.String(255)) category_char = db.Column(db.String(255)) category_host = db.Column(db.String(255)) date_created = db.Column(db.DateTime(), default=db.func.now()) date_start = db.Column(db.DateTime(), default=db.func.now()) date_end = db.Column(db.DateTime(), default=db.func.now()) location = db.Column(db.String(255)) link = db.Column(db.String(255)) poster = db.Column(db.String(255)) contact = db.Column(db.String(255))
class Event(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255)) title_cal = db.Column(db.String(255)) content = db.Column(db.Text()) host = db.Column(db.String(255)) category_char = db.Column(db.String(255)) category_host = db.Column(db.String(255)) date_created = db.Column(db.DateTime(timezone=True), default=db.func.now()) date_start = db.Column(db.DateTime(timezone=True)) date_end = db.Column(db.DateTime(timezone=True)) location = db.Column(db.String(255)) link = db.Column(db.String(255)) poster = db.Column(db.String(255)) contact = db.Column(db.String(255)) contact_open = db.Column(db.Boolean()) acceptance = db.Column(db.Boolean()) # http://stackoverflow.com/questions/7102754/jsonify-a-sqlalchemy-result-set-in-flask @property def serialize(self): """Return object data in easily serializeable format""" return { 'id': self.id, 'title': self.title, 'title_cal': self.title_cal, 'content': self.content, 'host': self.host, 'category_char': self.category_char, 'category_host': self.category_host, 'date_created': dump_datetime(self.date_created), 'date_start': dump_datetime(self.date_start), 'date_end': dump_datetime(self.date_end), 'location': self.location, 'link': self.link, 'poster': self.poster, 'contact': self.contact, 'contact_open': self.contact_open, 'acceptance': self.acceptance }
class Groups(db.Model): __tablename__ = 'groups' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), unique=True, nullable=False) about = db.Column(db.Text()) gusers = db.relationship('Users', backref='group', lazy='dynamic') @staticmethod def add(group): db.session.add(group) return session_commit() # 更新分组 def update(self): return session_commit() # 删除分组 @staticmethod def delete(self, id): self.query.filter_by(id=id).delete() return session_commit()
class Event(db.Model): __tablename__ = 'event' id = db.Column(db.Integer, primary_key=True) host_id = db.Column(db.ForeignKey('user.id')) host = db.relationship('User', backref=db.backref('events', cascade='all, delete-orphan', lazy='dynamic')) title = db.Column(db.String(255), nullable=False) theme = db.Column(db.String(64), nullable=False) content = db.Column(db.Text(), nullable=False) event_date = db.Column(db.String(255)) event_date_created = db.Column(db.DateTime(), default=db.func.now()) place_school = db.Column(db.String(255)) contact = db.Column(db.String(255)) cost = db.Column(db.Integer) limited_member_num = db.Column(db.Integer) attend_member_num = db.Column(db.Integer) recommend_count = db.Column(db.Integer) location = db.Column(db.String(255))
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True) article_id = db.Column(db.Integer, db.ForeignKey('article.id')) #article_id is class Article's id. , #small article is not class but var'article' in class Comment. # bring it from below article = db.relationship('Article', backref=db.backref('comments', cascade='all, delete-orphan', lazy='dynamic')) #setting relationship between Models(in this case, between article and comment) # if we want to access comment's Model's data, use 'article.comments' #cascade is like falls from Article class, when delete Article, its comments will be deleted author = db.Column(db.String(255)) email = db.Column(db.String(255)) password = db.Column(db.String(255)) content = db.Column(db.Text()) #contents of comment date_created = db.Column(db.DateTime(), default=db.func.now())
class Users(UserMixin, db.Model): __tablename__ = 'users' id = Column('id', Integer, primary_key=True) username = Column('username', String(64), unique=True) password_hash = Column(String(128)) gender = Column('gender', String(64)) email = Column('email', String(64), unique=True, index=True) confirmed = Column('confirmed', db.Boolean, default=False) role_id = Column(db.Integer, db.ForeignKey('roles.id')) #profile location = db.Column(db.String(64)) about_me = db.Column(db.Text()) member_since = db.Column(db.DateTime(), default=datetime.utcnow) last_seen = db.Column(db.DateTime(), default=datetime.utcnow) posts = db.relationship('BlogPost', backref='author', lazy='dynamic') def __init__(self, **kwargs): super(Users, self).__init__(**kwargs) if self.role is None: if self.email == current_app.config['PENG_ADMIN']: self.role = Role.query.filter_by(permissions=0xff).first() if self.role is None: self.role = Role.query.filter_by(default=True).first() def can(self, permissions): return self.role is not None and \ (self.role.permissions & permissions) == permissions def is_administrator(self): return self.can(Permission.ADMINISTER) @property def password(self): raise AttributeError('password is not a readable attribute') @password.setter def password(self, password): self.password_hash = generate_password_hash(password) def verify_password(self, password): return check_password_hash(self.password_hash, password) def generate_confirmation_token(self, expiration=3600): s = Serializer(current_app.config['SECRET_KEY'], expiration) return s.dumps({'confirm': self.id}) def generate_reset_token(self, expiration=3600): s = Serializer(current_app.config['SECRET_KEY'], expiration) return s.dumps({'reset': self.id}) def reset_password(self, token, new_password): s = Serializer(current_app.config['SECRET_KEY']) try: data = s.loads(token) except: return False if data.get('reset') != self.id: return False self.password = new_password db.session.add(self) db.session.commit() return True def confirm(self, token): s = Serializer(current_app.config['SECRET_KEY']) try: data = s.loads(token) except: return False if data.get('confirm') != self.id: return False self.confirmed = True db.session.add(self) db.session.commit() return True def gravatar(self, size=100, default='identicon', rating='g'): if request.is_secure: url = 'https://www.gravatar.com/avatar' else: url = 'http://www.gravatar.com/avatar' hash = hashlib.md5('*****@*****.**'.encode('utf-8')).hexdigest() return '{url}/{hash}?s={size}&d={default}&r={rating}'.format( url=url, hash=hash, size=size, default=default, rating=rating) def ping(self): self.last_seen = datetime.utcnow() db.session.add(self) db.session.commit()
class Managers(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.Text())
class Ajou(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.Text()) date_created = db.Column(db.DateTime(), default=db.func.now()) photographer = db.Column(db.String(255)) title = db.Column(db.String(255))
class Epilogues(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255)) author = db.Column(db.String(255)) text = db.Column(db.Text()) date_created = db.Column(db.DateTime(), default=db.func.now())
class Humans(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.Text()) q_month = db.Column(db.Text()) date_created = db.Column(db.DateTime(), default=db.func.now()) photo = db.Column(db.Text())
class Users(UserMixin, db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), unique=True, nullable=False) password = db.Column(db.String(128), nullable=False) name = db.Column(db.String(64)) email = db.Column(db.String(64), unique=True, nullable=False) isAdmin = db.Column(db.Boolean, nullable=False, default=False) group_id = db.Column(db.Integer, db.ForeignKey('groups.id')) token = db.Column(db.Text()) about_me = db.Column(db.Text()) member_since = db.Column(db.DateTime(), default=datetime.now) last_seen = db.Column(db.DateTime(), default=datetime.now) def __init__(self, **kwargs): super(Users, self).__init__(**kwargs) #密码加密 @staticmethod def hash_password(self, password): return generate_password_hash(password) #密码验证 def verify_password(self, password): return check_password_hash(self.password, password) #获取用户 def get(self, id): return self.query.filter_by(id=id).first() #添加用户 # def add(self, user): # if self.query.filter_by(username=user.username).first() or self.query.filter_by(email=user.email).first(): # return {"code": 10051, # "msg": "用户名或邮箱已存在"} # db.session.add(user) # db.session.commit() # return {"code": 0, # "msg": "添加成功"} @staticmethod def add(self, user): db.session.add(user) return session_commit() #更新用户 def update(self): return session_commit() #删除用户 @staticmethod def delete(self, id): self.query.filter_by(id=id).delete() return session_commit() # def ping(self): # self.last_seen = datetime.now() # db.session.add(self) #创建默认账户 @staticmethod def create_deafult(): admin = Users(username='******',password='******',email='*****@*****.**') db.session.add(admin) db.session.commit() def __repr__(self): # rep = json.dumps({"id": self.id, # "username": self.username}) # return rep return '<User %r>' % self.username
class Comment(db.Model): id_C = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, primary_key=True) content = db.Column(db.Text()) A_id = db.Column(db.Integer, db.ForeignKey('Article.id')) date_created = db.Column(db.DateTime(), default=db.func.now())