Ejemplo n.º 1
0
class Tag(db.Model):
    # __tablename__ = 'your_table_name' 通过该方法可以使用已经存在的表
    id = db.Column(db.Integer(),primary_key = True)
    title = db.Column(db.String(255))
    def __init__(self,title):
        self.title = title
    def __repr__(self):
        return "<Tag '{}'>".format(self.title)
Ejemplo n.º 2
0
class Comment(db.Model):
    # __tablename__ = 'your_table_name' 通过该方法可以使用已经存在的表
    id = db.Column(db.Integer(),primary_key = True)
    name = db.Column(db.String(255))
    text = db.Column(db.Text())
    date = db.Column(db.DateTime())
    post_id = db.Column(db.Integer(),db.ForeignKey('post.id'))
    def __repr__(self):
        return "<Comment '{}'>".format(self.text[:15])
Ejemplo n.º 3
0
class Role(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(80), unique=True)
    description = db.Column(db.String(255))

    def __init__(self, name):
        self.name = name

    def __repr_(self):
        return "<Role {}>".format(self.name)
Ejemplo n.º 4
0
class Category(db.Model):
    '''课程类别'''
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(255), unique=True)

    def __init__(self, name):
        self.name = name

    def __repr__(self):
        return "<Category '{}'>".format(self.name)
Ejemplo n.º 5
0
class Single_course(db.Model):
    '''
    一对一课程
    '''
    id = db.Column(db.Integer(), primary_key=True)
    student_id = db.Column(db.Integer(), db.ForeignKey('student.id'))
    teacher_id = db.Column(db.Integer(), db.ForeignKey('teacher.id'))
    section = db.Column(
        db.String(255)
    )  # db.Column(Enum("1", "2","3","4","5","6","7","8" ,name="section_enum", create_type=False))
    date = db.Column(db.Date())

    def __init__(self, date, section):
        self.section = section
        self.date = date

    def __repr__(self):
        return "<Single_course '{}-{}'>".format(self.date, self.section)
Ejemplo n.º 6
0
class User(db.Model):
    # __tablename__ = 'your_table_name' 通过该方法可以使用已经存在的表
    id = db.Column(db.Integer(), primary_key=True)
    username = db.Column(db.String(255))
    password = db.Column(db.String(255))
    posts = db.relationship(
        'Post',
        backref='user',  #backref 可以使得通过Post.user 属性对User对象进行读取和修改
        lazy='dynamic')
    roles = db.relationship('Role',
                            secondary=roles,
                            backref=db.backref('users', lazy='dynamic'))

    def __init__(self, username):
        self.username = username
        default = Role.query.filter_by(name="default").one()
        self.roles.append(default)

    def __repr__(self):
        return "<User '{}'>".format(self.username)

    def set_password(self, password):
        self.password = bcrypt.generate_password_hash(password)

    def check_password(self, password):
        return bcrypt.check_password_hash(self.password, password)

    def is_authenticated(self):
        if isinstance(self, AnonymousUserMixin):
            return False
        else:
            return True

    def is_active(self):
        return True

    def is_anonymous(self):
        if isinstance(self, AnonymousUserMixin):
            return True
        else:
            return False

    def get_id(self):
        return str(self.id)
Ejemplo n.º 7
0
class Post(db.Model):
    # __tablename__ = 'your_table_name' 通过该方法可以使用已经存在的表
    id = db.Column(db.Integer(),primary_key = True)
    title = db.Column(db.String(255))
    text = db.Column(db.Text())
    publish_date = db.Column(db.DateTime())
    comments = db.relationship(
        'Comment',
        backref = 'post',
        lazy = 'dynamic'
        )
    user_id = db.Column(db.Integer(),db.ForeignKey('user.id'))
    tags = db.relationship(
        'Tag',
        secondary = tags,
        backref = db.backref('posts',lazy='dynamic')
        )
    def __init__(self,title):
        self.title = title
    def __repr__(self):
        return "<Post '{}'>".format(self.title)
Ejemplo n.º 8
0
class Student(db.Model):
    '''学生'''
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(255))
    gender = db.Column(
        db.String(255)
    )  #db.Column(Enum("female", "male", name="gender_enum", create_type=False))
    birthday = db.Column(db.Date())
    single_courses = db.relationship('Single_course',
                                     backref='student',
                                     lazy='dynamic')
    categorys = db.relationship('Category',
                                secondary=categorys,
                                backref=db.backref('students', lazy='dynamic'))

    def __init__(self, name, gender, birthday):
        self.name = name
        self.gender = gender
        self.birthday = birthday

    def __repr__(self):
        return "<Student '{}'>".format(self.name)
Ejemplo n.º 9
0
from .extensions import bcrypt
from webapp.config import db


tags = db.Table(
    'post_tags',
    db.Column('post_id',db.Integer,db.ForeignKey('post.id')),
    db.Column('tag_id',db.Integer,db.ForeignKey('tag.id'))
    )

class Post(db.Model):
    # __tablename__ = 'your_table_name' 通过该方法可以使用已经存在的表
    id = db.Column(db.Integer(),primary_key = True)
    title = db.Column(db.String(255))
    text = db.Column(db.Text())
    publish_date = db.Column(db.DateTime())
    comments = db.relationship(
        'Comment',
        backref = 'post',
        lazy = 'dynamic'
        )
    user_id = db.Column(db.Integer(),db.ForeignKey('user.id'))
    tags = db.relationship(
        'Tag',
        secondary = tags,
        backref = db.backref('posts',lazy='dynamic')
        )
    def __init__(self,title):
        self.title = title
    def __repr__(self):
        return "<Post '{}'>".format(self.title)
Ejemplo n.º 10
0
from webapp.config import db
from sqlalchemy import Enum

categorys = db.Table(
    'categorys',
    db.Column('category_id', db.Integer, db.ForeignKey('category.id')),
    db.Column('teacher_id', db.Integer, db.ForeignKey('teacher.id')),
    db.Column('student_id', db.Integer, db.ForeignKey('student.id')))


class Single_course(db.Model):
    '''
    一对一课程
    '''
    id = db.Column(db.Integer(), primary_key=True)
    student_id = db.Column(db.Integer(), db.ForeignKey('student.id'))
    teacher_id = db.Column(db.Integer(), db.ForeignKey('teacher.id'))
    section = db.Column(
        db.String(255)
    )  # db.Column(Enum("1", "2","3","4","5","6","7","8" ,name="section_enum", create_type=False))
    date = db.Column(db.Date())

    def __init__(self, date, section):
        self.section = section
        self.date = date

    def __repr__(self):
        return "<Single_course '{}-{}'>".format(self.date, self.section)


class Teacher(db.Model):
Ejemplo n.º 11
0
from flask_login import AnonymousUserMixin
from webapp.config import db
from webapp.blog.extensions import bcrypt

roles = db.Table('role_users',
                 db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
                 db.Column('role_id', db.Integer, db.ForeignKey('role.id')))


class User(db.Model):
    # __tablename__ = 'your_table_name' 通过该方法可以使用已经存在的表
    id = db.Column(db.Integer(), primary_key=True)
    username = db.Column(db.String(255))
    password = db.Column(db.String(255))
    posts = db.relationship(
        'Post',
        backref='user',  #backref 可以使得通过Post.user 属性对User对象进行读取和修改
        lazy='dynamic')
    roles = db.relationship('Role',
                            secondary=roles,
                            backref=db.backref('users', lazy='dynamic'))

    def __init__(self, username):
        self.username = username
        default = Role.query.filter_by(name="default").one()
        self.roles.append(default)

    def __repr__(self):
        return "<User '{}'>".format(self.username)

    def set_password(self, password):