예제 #1
0
class Vipcode(db.Model):
    __tablename__ = 't_vipcode'
    id = db.Column(db.String(255), primary_key=True)
    code = db.Column(db.String(32))
    is_use = db.Column(db.Integer)
    create_date = db.Column(db.DateTime, default=datetime.datetime.now())
    expire_date = db.Column(db.DateTime, default=datetime.datetime.now())
예제 #2
0
class User(db.Model, UserMixin):
    uid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(64),
                         unique=True,
                         index=True,
                         nullable=False)
    _password = db.Column(db.String(128), nullable=False)
    _is_active = db.Column(db.Boolean, default=False)
    # 表示用户被管理员干掉了
    is_delete = db.Column(db.Boolean, default=False)

    @property
    def is_active(self):
        return self._is_active

    def get_id(self):
        return self.uid

    @property
    def password(self):
        return self._password

    # 对密码进行加密
    @password.setter
    def password(self, password):
        if password:
            self._password = custom_app_context.encrypt(password)
        else:
            raise Exception('password is not null')

    # 验证密码
    def verify_password(self, password):
        return custom_app_context.verify(password, self._password)
예제 #3
0
class Catalog(db.Model):  # 分类名称表
    __tablename__ = 't_catalog'
    id = db.Column(db.String(255), primary_key=True)
    is_use = db.Column(db.Integer)
    name = db.Column(db.String(32))
    sort = db.Column(db.Integer)  # 排序
    isVip = db.Column(db.Integer, default=0)
예제 #4
0
class Category(db.Model):
    __tablename__ = 'category'
    id = db.Column(db.Integer, primary_key=True)
    category = db.Column(db.String(100), nullable=True)
    update_time = db.Column(db.DateTime, default=datetime.now)
    create_time = db.Column(db.DateTime, default=datetime.now())
    is_delete = db.Column(db.Boolean, default=0)
예제 #5
0
class User(db.Model):
    uid = db.Column(db.Integer, autoincrement=True, primary_key=True)
    username = db.Column(db.String(100),
                         unique=True,
                         index=True,
                         nullable=False)
    image = db.relationship('Image', back_populates='user', uselist=False)
예제 #6
0
class User(db.Model, UserMixin):
    #这里继承的必须改成id  不是id要重写底层
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)

    username = db.Column(db.String(64), unique=True, nullable=False)
    password_hash = db.Column(db.String(128), nullable=False)
    # 0 表示未激活 1 表示激活
    is_delete = db.Column(db.Integer, default=0)

    #  验证数据
    #  声明的时候是方法
    #  使用的时候是属性
    @property
    def password(self):
        return self.password_hash

    # md5
    @password.setter
    def password(self, password):
        if len(password) >= 8:
            # 对密码进行加密
            self.password_hash = generate_password_hash(password)
        else:
            raise Exception('密码不符合规范')

    # 明文   123456
    def verify_password(self, password):
        return check_password_hash(self.password_hash, password)
예제 #7
0
class Travel(db.Model):
    travel_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(100), unique=True, index=True, nullable=False)
    price = db.Column(db.Numeric(9, 2), default=0.00, nullable=False)
    create_date = db.Column(db.DateTime, default=datetime.datetime.now())
    is_delete = db.Column(db.Boolean, default=0)
    images = db.relationship('Image', backref='travel', lazy='dynamic')
예제 #8
0
파일: models.py 프로젝트: HTCssy/Flask
class Permission(db.Model):
    per_id = db.Column(db.Integer, primary_key=True)
    per_name = db.Column(db.String(64), index=True, unique=True)
    desc = db.Column(db.Text)

    def __init__(self, per_name, desc):
        self.per_name = per_name
        self.desc = desc
예제 #9
0
class Record(db.Model):
    __tablename__ = 'record'
    id = db.Column(db.String(10), primary_key=True, autoincrement=True)
    time = db.Column(db.DateTime, nullable=False)
    operation = db.Column(db.String(20), nullable=False)
    user_id = db.Column(db.String(10),
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
예제 #10
0
class User(db.Model,UserMixin):
    __tablename__='user'
    id=db.Column(db.Integer,primary_key=True)
    name=db.Column(db.String(30),nullable=False)
    pwd=db.Column(db.String(30),nullable=False)

    def __repr__(self):
        return "User {}".format(self.name)
예제 #11
0
class ErrorData(db.Model):
    __tablename__ = 'error_data'
    id = db.Column(db.String(10), primary_key=True, autoincrement=True)
    time = db.Column(db.DateTime, nullable=True)
    value = db.Column(db.Float, nullable=False)
    sensor_id = db.Column(db.String(10),
                          db.ForeignKey('bridge.id', ondelete='CASCADE'),
                          nullable=False)
예제 #12
0
class Notice(db.Model):
    __tablename__ = 'notice'
    id = db.Column(db.Integer, primary_key=True)
    message = db.Column(db.String(512), nullable=True)
    # img=db.Column(db.String(256),default=None)
    update_time = db.Column(db.DateTime, default=datetime.now)
    create_time = db.Column(db.DateTime, default=datetime.now())
    is_delete = db.Column(db.Boolean, default=0)
예제 #13
0
파일: models.py 프로젝트: HTCssy/Flask
class Role(db.Model):
    role_id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), index=True, unique=True)
    desc = db.Column(db.Text)
    permission = db.relationship('Permission', secondary=relation)

    def __init__(self, role_name, desc):
        self.role_name = role_name
        self.desc = desc
예제 #14
0
class User(db.Model):
    uid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(100), unique=True, nullable=False)
    addrs = db.relationship(
        'Address',
        lazy='dynamic',
        backref='user',
        uselist=True,
    )
예제 #15
0
class Image(db.Model):
    img_id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    path = db.Column(db.String(255), unique=True, default='')
    # 1表示用户头像  2表示商户头像
    type = db.Column(db.SmallInteger, nullable=False)
    create_date = db.Column(db.DateTime, default=datetime.datetime.now())
    # 外键字段(主表类名.字段)
    # 查询字段
    uid = db.Column(db.Integer, db.ForeignKey(User.uid), unique=True)
    user = db.relationship('User', back_populates='image', uselist=False)
예제 #16
0
class TodoList(db.Model):
    __tablename__ = 'todolist'
    id=db.Column(db.Integer,primary_key=True)
    user_id=db.Column(db.Integer,nullable=False)
    title=db.Column(db.String(254),nullable=False)
    status=db.Column(db.String(10),nullable=False)
    create_time=db.Column(db.Integer,default=int(time.time()))

    def __repr__(self):
        return "TodoList {}".format(self.title)
예제 #17
0
class Bridge(db.Model):
    __tablename__ = 'bridge'
    id = db.Column(db.String(10), primary_key=True, autoincrement=True)
    name = db.Column(db.String(20), nullable=False)
    address = db.Column(db.String(50), nullable=False)
    state = db.Column(db.Boolean, nullable=False)
    sensor_list = db.relationship('sensor',
                                  backref='bridge',
                                  cascade='all, delete-orphan',
                                  passive_deletes=True)
예제 #18
0
class Destination(db.Model):
    des_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    des_name = db.Column(db.String(100), unique=True, index=True, nullable=False)
    price = db.Column(db.Numeric(9, 2), default=0.00, nullable=False)
    create_date = db.Column(db.DateTime, default=datetime.datetime.now())
    is_delete = db.Column(db.Boolean, default=0)

    photo_list = db.relationship('Photo',
                                 backref='destination',
                                 lazy='dynamic'
                                 )
예제 #19
0
class Url(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    short_url_code = db.Column(db.String(32))
    long_url = db.Column(db.String(1000))
    create_time = db.Column(db.DateTime(), default=datetime.now)

    @classmethod
    def is_unique_short_url(cls, value=None):
        """ 传入code判断是否唯一"""
        urls = cls.query.filter_by(short_url_code=value).first()
        if urls:
            return False
        else:
            return True

    @property
    def short_url(self):
        """短域名"""
        return current_app.config['BASE_URL'] + self.short_url_code

    @classmethod
    def generic_short_url_code(cls):
        short_url_code = generic_codes(5)
        return short_url_code if cls.is_unique_short_url(
            short_url_code) else generic_short_url_code(cls)

    @classmethod
    def save_url(cls, long_url):
        url = cls.has_the_long_url(long_url)
        if url:
            return url
        short_url_code = cls.generic_short_url_code()
        url = cls(short_url_code=short_url_code, long_url=long_url)
        db.session.add(url)
        db.session.commit()
        return url

    @classmethod
    def has_the_long_url(cls, long_url):
        url = cls.query.filter_by(long_url=long_url).first()
        return url if url else None

    @classmethod
    def convert_to_long(cls):
        """短域名访问后需要转为常常的域名"""
        code = request.path.strip('/')
        url = cls.query.filter_by(short_url_code=code).first()
        if url:
            long_url = url.long_url
            if not long_url.startswith('http'):
                long_url = 'http://' + long_url
            return long_url
        else:
            raise ApiException(msg='not found', code=404, error_code=404)
예제 #20
0
파일: models.py 프로젝트: HTCssy/Flask
class UserShop(db.Model):
    sid = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), index=True, unique=True)
    #类名小写.关联子段,只是单纯的建立一个外键关系
    cid = db.Column(db.Integer, db.ForeignKey('cate.cid'))
    #同上
    # cid = db.Column(db.Integer, db.ForeignKey(Cate.cid))
    #双向引用时候使用
    cate = db.relationship('Cate', back_populates='shops')
    #一对一
    detail = db.relationship('Detail', uselist=False, backref='usershop')
예제 #21
0
class UserLogin(db.Model, UserMixin):
    uid = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64),
                         index=True,
                         unique=True,
                         nullable=False)
    password = db.Column(db.String(256), nullable=False)
    email = db.Column(db.String(64), nullable=False)

    #如果使用自定义的id需要重写该方法
    def get_id(self):
        return self.uid
예제 #22
0
파일: models.py 프로젝트: zhanjiahuan/tpp
class HallScheduling(db.Model):
    hsid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    # 1未开始 2正在放映 3结束放映
    status = db.Column(db.Integer, default=1)
    start = db.Column(db.DateTime)
    end = db.Column(db.DateTime)
    origin_price = db.Column(db.Numeric(7, 2))
    current_price = db.Column(db.Numeric(7, 2))
    movie_id = db.Column(db.Integer, db.ForeignKey(Movie.id))
    cinema_id = db.Column(db.Integer, db.ForeignKey(Cinema.cid))
    hall_id = db.Column(db.Integer, db.ForeignKey(Hall.hid))
    is_delete = db.Column(db.Boolean, default=True)
    ss_list = db.relationship('SeatScheduling', lazy='dynamic', backref='hs')
예제 #23
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.String(10), primary_key=True, autoincrement=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    password = db.Column(db.String(50), nullable=False)
    inspect_list = db.relationship('inspect_data',
                                   backref='user',
                                   cascade='all, delete-orphan',
                                   passive_deletes=True)
    record_list = db.relationship('record',
                                  backref='user',
                                  cascade='all, delete-orphan',
                                  passive_deletes=True)
예제 #24
0
class Category(db.Model):
    # 主键
    cate_id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    name = db.Column(db.String(30), unique=True, index=True, nullable=False)
    create_date = db.Column(db.DateTime, default=datetime.datetime.now())
    status = db.Column(db.Boolean, default=True)
    # userlist=True表示一对多 默认为True
    # userlist=False表示一对一
    '''
    lazy   select 表示一次性将所有的数据全部加载进内存
           dynamic 延迟加载(懒加载),先加载主表的数据,当我们去使用主表相关的数据的时候才去执行查询
    当数据比较多的时候建议使用dynamic
    '''
    subs = db.relationship('SubCategory', lazy='dynamic', backref='category')
예제 #25
0
파일: model.py 프로젝트: redhoe/flask-admin
class UserBill(db.Model):
    __tablename__ = 'userbill'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    b_type = db.Column(db.String(1))
    fund_type = db.Column(db.String(1))
    number = db.Column(db.String(20))
    balance = db.Column(db.String(20))
    memo = db.Column(db.String(50))
    ref_info = db.Column(db.String(100))
    create_time = db.Column(db.DateTime, default=datetime.now)
예제 #26
0
파일: models.py 프로젝트: HTCssy/Flask
class Shop(db.Model):
    shop_id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), index=True, unique=True)
    sub_title = db.Column(db.String(64))
    original_price = db.Column(db.Numeric(10, 2))
    promote_price = db.Column(db.Numeric(10, 2))
    stock = db.Column(db.Integer)
    cate_id = db.Column(db.Integer)
    create_date = db.Column(db.DateTime, default=datetime.datetime.now())
예제 #27
0
class User(db.Model):
    uid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(64), index=True, unique=True, nullable=False)
    password = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(100))
    phone = db.Column(db.Integer, nullable=False)
    create_date = db.Column(db.DateTime, default=datetime.datetime.now())
    url = db.Column(db.String(100))
    is_delete = db.Column(db.Boolean, default=False)
예제 #28
0
파일: models.py 프로젝트: LEILI1993/qqq
class Seats(db.Model):
    sid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    # 1.普通  2.豪华 3 超豪华
    type = db.Column(db.Integer, nullable=False)
    x = db.Column(db.Integer, nullable=False)
    y = db.Column(db.Integer, nullable=False)
    status = db.Column(db.Boolean, default=True)
    is_active = db.Column(db.Boolean, default=True)
    # 是否可选
    is_choose = db.Column(db.Boolean, default=True)
    #     外键设置
    cid = db.Column(db.Integer, db.ForeignKey(Cinemas.cid))
    hid = db.Column(db.Integer, db.ForeignKey(Halls.hid))
예제 #29
0
class InspectData(db.Model):
    __tablename__ = 'inspect_data'
    id = db.Column(db.String(10), primary_key=True, autoincrement=True)
    time = db.Column(db.DateTime, nullable=True)
    sensor_id = db.Column(db.String(10), nullable=True)
    sensor_state = db.Column(db.Boolean, nullable=True)
    bridge_id = db.Column(db.String(10), nullable=True)
    bridge_state = db.Column(db.Boolean, nullable=True)
    picture_route = db.Column(db.String(50), nullable=True)  # 图片文件路径
    remark = db.Column(db.String(200), nullable=True)
    user_id = db.Column(db.String(10),
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
예제 #30
0
class Sensor(db.Model):
    __tablename__ = 'sensor'
    id = db.Column(db.String(10), primary_key=True, autoincrement=True)
    type = db.Column(db.String(10), nullable=False)  # 传感器类型
    name = db.Column(db.String(10), nullable=False)  # 传感器名
    long = db.Column(db.Boolean, nullable=False)  # 是否是长时传感器
    bridge_id = db.Column(db.String(10),
                          db.ForeignKey('bridge.id', ondelete='CASCADE'),
                          nullable=False)  # 所属桥梁id
    error_data_list = db.relationship('error_data',
                                      backref='sensor',
                                      cascade='all, delete-orphan',
                                      passive_deletes=True)
    raw_data_list = db.relationship('raw_data',
                                    backref='bridge',
                                    cascade='all, delete-orphan',
                                    passive_deletes=True)