示例#1
0
class User(db.Model):
    __tablename__ = 'users'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(255), nullable=True, default="User")
    email = db.Column(db.String(255), index=True, unique=True, nullable=False)
    password = db.Column(db.String(255), nullable=False)
    registered_on = db.Column(db.DateTime, nullable=False)
    admin = db.Column(db.Boolean, nullable=False, default=False)
    concepts = db.relationship('Concepts',
                               backref="users",
                               cascade="all, delete-orphan",
                               lazy="dynamic")

    def __init__(self, name, email, password, admin=False):
        self.name = name
        self.email = email
        self.password = bcrypt.generate_password_hash(password)
        self.registered_on = datetime.datetime.now()
        self.admin = admin

    def is_authenticated(self):
        return True

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return self.id

    def __repr__(self):
        return '<id {}>'.format(self.id)
示例#2
0
class Concepts(db.Model, CRUD):
    __tablename__ = 'concepts'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(255), nullable=False, unique=True)
    help_text = db.Column(db.String(255))
    created_on = db.Column(db.DateTime, nullable=False)
    edited_on = db.Column(db.DateTime, nullable=False)
    creator_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    creator = db.relationship("User", back_populates="concepts")
    creator_name = db.Column(db.String(255), nullable=False)

    concept_type = db.Column(db.String(20), default='bipolar', nullable=False)
    input_terms = db.Column(JSON)

    def __init__(self, name, creator_id, concept_type, input_terms,
                 creator_name):
        self.name = name
        self.creator_id = creator_id
        self.concept_type = concept_type
        self.input_terms = input_terms
        self.created_on = datetime.datetime.now()
        self.edited_on = datetime.datetime.now()
        self.creator_name = creator_name

    def get_id(self):
        return self.id

    def __repr__(self):
        return '<id {}>'.format(self.id)
示例#3
0
class Assignment(db.Model, CRUD):
    __tablename__ = 'assignments'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(255), nullable=False, unique=True)
    title = db.Column(db.String(255))
    description = db.Column(db.Text)
    created_on = db.Column(db.DateTime, nullable=False)
    edited_on = db.Column(db.DateTime, nullable=False)
    creator_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    creator = db.relationship("User", back_populates="assignments")
    creator_name = db.Column(db.String(255), nullable=False)
    submissions = db.relationship('Submission',
                                  backref='assignments')  #lazy=True
    themes = db.relationship('Theme', backref='assignments')

    #submissions = db.relationship('Address', lazy='select', backref=db.backref('person', lazy='joined'))

    def __init__(self, name, title, desc, creator_id, creator_name):
        self.name = name
        self.title = title
        self.description = desc
        self.creator_id = creator_id
        self.created_on = datetime.datetime.now()
        self.edited_on = datetime.datetime.now()
        self.creator_name = creator_name

    def get_id(self):
        return self.id

    def __repr__(self):
        return '<id {}>'.format(self.id)