コード例 #1
0
class Mission(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    created_at = db.Column(db.DateTime, default=datetime.utcnow, index=True)
    name = db.Column(db.String(30))
    unit = db.Column(db.String(10))
    total_missions = db.Column(db.Integer)
    start_at = db.Column(db.DateTime, index=True)
    end_at = db.Column(db.DateTime, index=True)
    total_days = db.Column(db.Integer)
    # daily plan mission
    daily_missions = db.Column(db.Integer)
    # daily plan minutes
    daily_times = db.Column(db.Integer)
    total_times = db.Column(db.Integer)
    total_used_times = db.Column(db.Integer, default=0)
    # current completed mission
    completed_missions = db.Column(db.Integer, default=0)
    # is_completed: 1 yes, 0 no
    is_completed = db.Column(db.Integer, default=0)
    # status = db.Column(db.Integer, default=1)
    # (1 show, 0 hide) in index.html
    is_show = db.Column(db.Integer, default=1)
    summary = db.Column(db.TEXT, default='')

    plan_id = db.Column(db.Integer, db.ForeignKey('plan.id'))
    plan = db.relationship('Plan', back_populates='missions')
    logs = db.relationship('MissionLog', back_populates='mission')
コード例 #2
0
class Plan(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    created_at = db.Column(db.DateTime, default=datetime.utcnow, index=True)
    name = db.Column(db.String(30))

    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
    category = db.relationship('Category', back_populates='plans')

    missions = db.relationship('Mission', back_populates='plan')
コード例 #3
0
class Item(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.Text)
    done = db.Column(db.Boolean, default=False)
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    author = db.relationship('User', back_populates='items')
コード例 #4
0
class Item(db.Model):
    # print('----', '测试断点2')
    id = db.Column(db.Integer, primary_key=True)  # 主键字段
    body = db.Column(db.Text)  # 主体字段
    done = db.Column(db.Boolean, default=False)  # 完成字段
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))  # author_id字段
    # 通过relationship()函数, 同时通过设置back_populates参数的值为关系另一侧的关系属性名来连接对方。
    author = db.relationship('User', back_populates='items')  # author字段
コード例 #5
0
class Item(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    title = db.Column(db.Text)
    sdate = db.Column(db.String())
    stime = db.Column(db.String())
    edate = db.Column(db.String())
    etime = db.Column(db.String())
    author = db.relationship('User', back_populates='items')
コード例 #6
0
class MissionLog(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    timestamp = db.Column(db.DateTime, default=datetime.utcnow, index=True)
    log_id = db.Column(db.Integer)
    completed_mission = db.Column(db.Integer)
    used_time = db.Column(db.Integer)

    mission_id = db.Column(db.Integer, db.ForeignKey('mission.id'))
    mission = db.relationship('Mission', back_populates='logs')
コード例 #7
0
ファイル: models.py プロジェクト: assulthoni/soap-rest
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, index=True)
    password_hash = db.Column(db.String(128))
    locale = db.Column(db.String(20))
    items = db.relationship('Item', back_populates='author', cascade='all')

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

    def validate_password(self, password):
        return check_password_hash(self.password_hash, password)
コード例 #8
0
class Category(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20))
    plans = db.relationship('Plan', back_populates='category')

    def delete(self):
        default_category = Category.query.get(1)
        plans = self.plans[:]
        for plan in plans:
            plan.category = default_category
        db.session.delete(self)
        db.session.commit()
コード例 #9
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, index=True)
    locale = db.Column(db.String(20))
    password_hash = db.Column(db.String(128))
    locale = db.Column(db.String(20))

    items = db.relationship('Item', backref='author', cascade='all')

    @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 validate_password(self, password):
        return check_password_hash(self.password_hash, password)
コード例 #10
0
class User(db.Model, UserMixin):
    # print('----', '测试断点1')
    id = db.Column(db.Integer, primary_key=True)  # 主键字段
    username = db.Column(db.String(20), unique=True, index=True)  # 用户字段
    password_hash = db.Column(db.String(128))  # 密码散列值字段
    locale = db.Column(db.String(20))  # locale字段,用来存储区域代码,
    # 通过使用db.relationship()关系函数将items定义为关系属性,返回多个记录,关系函数中的第一个参数为另一侧的模型名称,
    # 通过设置back_populates参数的值为关系另一侧的关系属性名来连接对方,cascade参数是设置级联操作,其值设为'all'表示多个级联值的组合
    items = db.relationship('Item', back_populates='author', cascade='all')

    # 设置密码
    def set_password(self, password):
        self.password_hash = generate_password_hash(password)  # 同一密码生成不同的密码散列值

    # 验证密码
    def validate_password(self, password):
        return check_password_hash(
            self.password_hash,
            password)  # 调用check_password_hash()函数检查密码散列值是否与设置的一致
コード例 #11
0
class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, index=True)
    password_hash = db.Column(db.String(128))
    items = db.relationship('Item', back_populates='author', cascade='all')