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'))
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"
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
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
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, }
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
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'))