Esempio n. 1
0
class User(ModelBase, db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    u_name = db.Column(db.String(16), unique=True)
    u_age = db.Column(db.Integer)
    a_id = db.Column(db.Integer, db.ForeignKey('address.id'))
    address = db.relationship('Address',
                              backref=db.backref('user', lazy='dynamic'))
Esempio n. 2
0
class CartModel(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)

    c_num = db.Column(db.Integer)
    is_choosed = db.Column(db.Boolean, default=True)
    ordermodel = db.relationship('OrderModel',
                                 secondary='registrations',
                                 backref=db.backref('orders'),
                                 lazy='dynamic')
    __name__ = "App_cartmodel"
Esempio n. 3
0
class Role(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    role_name = db.Column(db.String(32), unique=True, nullable=False)  # 角色名称
    depict = db.Column(db.String(255))  # 描述
    is_root = db.Column(db.Integer, default=0, nullable=False)  # 是否是系统内置 0.否 1.是
    status = db.Column(db.Integer, default=1)  # 角色状态 1.启用  0.禁用
    update_time = db.Column(db.DateTime, default=datetime.utcnow())  # 更新时间
    create_time = db.Column(db.DateTime, default=datetime.utcnow())  # 创建时间
    auth_list = db.relationship("Auth", backref=db.backref('roles'), secondary=role_auth, lazy="dynamic")  # 角色

    def to_json(self):
        ret = self.__dict__
        if "_sa_instance_state" in ret:
            del ret["_sa_instance_state"]
        return ret
Esempio n. 4
0
class Post(db.Model, ModelBase):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(128))
    body = db.Column(db.Text)
    pub_date = db.Column(db.DateTime)
    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
    category = db.relationship('Category',
                               backref=db.backref('posts', lazy='dynamic'))

    def __init__(self, title, body, category, pub_date=None):
        self.title = title
        self.body = body
        if pub_date is None:
            pub_date = datetime.utcnow()
        self.pub_date = pub_date
        self.category = category

    def __repr__(self):  # 自定义输出实例化对象的信息
        return '<Posts %r>' % self.title
Esempio n. 5
0
class ClientInfo(db.Model):
    __tablename__ = 'client'
    __table_args__ = {'mysql_collate': 'utf8_general_ci'}
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    number = db.Column(db.String(32), nullable=False, unique=True)
    loginName = db.Column(db.String(50), nullable=False, unique=True)
    loginPwd = db.Column(db.String(50), nullable=False)
    phone = db.Column(db.String(32), default='')
    email = db.Column(db.String(100), default='')
    type = db.Column(db.Integer, default=0)
    level = db.Column(db.Integer, default=0)
    nature = db.Column(db.String(50), default='')
    chId = db.Column(db.String(50), default='')
    chKey = db.Column(db.String(50), default='')
    salemanId = db.Column(db.String(32), default='')
    remark = db.Column(db.Text)
    devices = db.relationship('Device', backref=db.backref('clientInfo'))

    def __repr__(self):
        return '<client:%s %s %s>' % (self.number, self.loginName,
                                      self.loginPwd)

    def model_to_dict(self):
        return {
            'id': self.id,
            'number': self.number,
            'loginName': self.loginName,
            'loginPwd': self.loginPwd,
            'phone': self.phone,
            'email': self.email,
            'type': self.type,
            'level': self.level,
            'nature': self.nature,
            'chId': self.chId,
            'chKey': self.chKey,
            'salemanId': self.salemanId,
            'remark': self.remark,
        }
Esempio n. 6
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(32), nullable=False)  # 用户名称
    password_hash = db.Column(db.String(255), nullable=False)  # 加密后的密码
    mobile = db.Column(db.String(11))  # 手机号码
    avatar = db.Column(db.String(255), default=AVATAR)  # 用户头像
    create_time = db.Column(db.DateTime, default=datetime.utcnow())  # 创建时间
    update_time = db.Column(db.DateTime, default=datetime.utcnow())  # 更新时间
    last_login = db.Column(db.DateTime, default=datetime.utcnow())  # 最后登录时间
    status = db.Column(db.Integer, default=1)  # 状态  0.禁用 1.启用 -1.删除
    roles = db.relationship("Role",
                            backref=db.backref('users'),
                            secondary=user_role,
                            lazy="dynamic")  # 角色

    def to_json(self):
        ret = self.__dict__
        if "_sa_instance_state" in ret:
            del ret["_sa_instance_state"]
        return ret

    def get(self, user_id):
        return self.query.filter_by(id=user_id).first()

    @staticmethod
    def add(user):
        db.session.add(user)
        return db.session.commit()

    @staticmethod
    def update(user):
        db.session.add(user)
        return db.session.commit()

    @staticmethod
    def delete(user):
        db.session.add(user)
        return db.session.commit()

    @property
    def password(self):
        """读取属性函数"""
        # 读取值就是返回属性值
        return AttributeError("该属性只能录入, 不可读取")

    @password.setter
    def password(self, org_pwd):
        """设置属性函数, 密码加密"""
        self.password_hash = generate_password_hash(org_pwd, salt_length=16)

    def check_password(self, pwd):
        """校验密码"""
        return check_password_hash(self.password_hash, pwd)

    def get_auth_list(self):
        auth_list = []
        for role in self.roles:
            for auth in role.auth_list:
                if auth.url not in auth_list:
                    auth_list.append(auth.url)
        return auth_list
Esempio n. 7
0
class Page(db.Model, ModelBase):
    id = db.Column(db.Integer, primary_key=True)
    tags = db.relationship('Tag',
                           secondary=tags,
                           backref=db.backref('pages', lazy='dynamic'))