コード例 #1
0
class Category(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False, unique=True)
    description = db.Column(db.Text(1000), nullable=True)
    courses = db.relationship('Course', backref='category', lazy='dynamic')
    access_rights = db.relationship('Access_rights',
                                    backref='category',
                                    lazy='dynamic')

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

    def __repr__(self):
        return self.name
コード例 #2
0
class Lesson(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    course_id = db.Column(db.Integer, db.ForeignKey('course.id'), nullable=False)
    description = db.Column(db.Text(1000), nullable=True)
    videos = db.relationship('Video', backref='lesson', lazy='dynamic')
    images = db.relationship('Image', backref='lesson', lazy='dynamic')
    textlectures = db.relationship('TextLecture', backref='lesson', lazy='dynamic')
    audios = db.relationship('Audio', backref='lesson', lazy='dynamic')
    __table_args__ = (db.UniqueConstraint('course_id', 'name'),)
    def __init__(self, name, course_id, description):
        self.name = name 
        self.course_id = course_id
        self.description = description 
    def __repr__(self):
        return '<Lesson {}>'.format(self.name)   
コード例 #3
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    password = db.Column(db.String(128))
    role = db.Column(db.String(10), index=True)
    access_rights = db.relationship('Access_rights',
                                    backref='user',
                                    lazy='dynamic')

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

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

    @property
    def is_admin(self):
        return self.role == 'admin'

    @property
    def is_teacher(self):
        return self.role == 'teacher'

    @property
    def is_student(self):
        return self.role == 'student'

    def __repr__(self):
        return self.username
コード例 #4
0
class Category(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False, unique=True)
    courses = db.relationship('Course', backref='category', lazy='dynamic')

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

    def __repr__(self):
        return '<Category {}>'.format(self.name)
コード例 #5
0
class Course(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    category_id = db.Column(db.Integer,
                            db.ForeignKey('category.id', ondelete='CASCADE'),
                            nullable=False)
    description = db.Column(db.Text(1000), nullable=True)
    lessons = db.relationship('Lesson', backref='course', lazy='dynamic')
    access_rights = db.relationship('Access_rights',
                                    backref='course',
                                    lazy='dynamic')
    __table_args__ = (db.UniqueConstraint('category_id', 'name'), )

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

    def __repr__(self):
        return self.name