Exemple #1
0
class Cinema(db.Model):
    """
        影院表
    """
    cid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    # 影院的名称
    name = db.Column(db.String(100), unique=True, nullable=False, index=True)
    # 城市
    city = db.Column(db.String(64))
    # 区域
    district = db.Column(db.String(64))
    # 地址
    address = db.Column(db.String(255))
    # 联系电话
    phone = db.Column(db.String(11))
    # 评分
    score = db.Column(db.Float(3, 1))
    # 影厅的数量
    hall_num = db.Column(db.Integer)
    # True 营业    false 休息
    flag = db.Column(db.Integer, default=1)
    # 服务费
    service_money = db.Column(db.Numeric(3, 1))
    # 限购数量
    astrict = db.Column(db.Integer)
    # 是否删除
    is_delete = db.Column(db.Boolean, default=True)
    hs_list = db.relationship('HallScheduling',
                              lazy='dynamic',
                              backref='cinema')
    halls = db.relationship('Hall', lazy='dynamic', backref='cinema')
Exemple #2
0
class Classes(db.Model):
    cid = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(16), index=True, unique=True, nullable=False)
    chinese = db.Column(db.Integer, db.ForeignKey('teachers.tid'))
    math = db.Column(db.Integer, db.ForeignKey('teachers.tid'))
    english = db.Column(db.Integer, db.ForeignKey('teachers.tid'))
    sport = db.Column(db.Integer, db.ForeignKey('teachers.tid'))
    is_status = db.Column(db.Integer, nullable=False)
    teachers = db.relationship('Teachers', backref='classes')
    students = db.relationship('Students', backref='classes')
Exemple #3
0
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')
Exemple #4
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)
Exemple #5
0
class User(db.Model):
    # name 表示列名
    # __tablename__=''
    # index 索引
    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)
    age = db.Column(db.Integer)
    create_date = db.Column(db.DateTime)
    id_delete = db.Column(db.Boolean)
    price = db.Column(db.Numeric(7, 2))
    """
    重要参数
    argument 关联的类名
    uselist  一对一的关系 一对多必须是设置uselist=True
    backref  反向引用的名称
    lazy     懒加载
    """

    address_list = db.relationship('Address',
                                   uselist=True,
                                   backref='user',
                                   lazy='dynamic')
Exemple #6
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')
Exemple #7
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)
Exemple #8
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)
Exemple #9
0
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
Exemple #10
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,
    )
Exemple #11
0
class Movie(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    show_name = db.Column(db.String(64))
    show_name_en = db.Column(db.String(64))
    director = db.Column(db.String(32))
    leading_role = db.Column(db.String(255))
    type = db.Column(db.String(64))
    country = db.Column(db.String(32))
    language = db.Column(db.String(32))
    duration = db.Column(db.Integer)
    screening_model = db.Column(db.String(16))
    open_day = db.Column(db.Date)
    image = db.Column(db.String(255))
    flag = db.Column(db.Integer)
    is_delete = db.Column(db.Integer, default=False)
    hs_list = db.relationship('HallScheduling',
                              lazy='dynamic',
                              backref='movie')
    rating = db.relationship('Rating', lazy='dynamic', backref='movie')
Exemple #12
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)
Exemple #13
0
class Halls(db.Model):
    hid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(100), nullable=False)
    # 1表示 2D 21 3D 3表示4D  4 表示  3D MAX
    screen_type = db.Column(db.Integer, nullable=False)
    seat_num = db.Column(db.Integer, nullable=False)
    status = db.Column(db.Boolean, default=True)
    is_active = db.Column(db.Boolean, default=True)
    cid = db.Column(db.Integer, db.ForeignKey(Cinemas.cid))
    platoons = db.relationship('Platoon', backref='halls', lazy='dynamic')
Exemple #14
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)
Exemple #15
0
class Article(db.Model):
    __tablename__ = 'article'
    __searchable__ = ['title', 'content']  # 搜索字段
    __analyzer__ = SimpleAnalyzer()

    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    tag1 = db.Column(db.String(100), nullable=True)
    tag2 = db.Column(db.String(100), nullable=True)
    tag3 = db.Column(db.String(100), nullable=True)
    short_content = db.Column(db.String(512), nullable=True)
    content = db.Column(db.Text, nullable=False)
    update_time = db.Column(db.DateTime, default=datetime.now)
    create_time = db.Column(db.DateTime, default=datetime.now())
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
    user = db.relationship('User', backref=db.backref('articles'))  # 正向与反向引用
    category = db.relationship('Category',
                               backref=db.backref('articles'))  # 正向与反向引用
    is_delete = db.Column(db.Boolean, default=0)
Exemple #16
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'
                                 )
Exemple #17
0
class Cinema(db.Model):
    cid = db.Column(db.Integer, autoincrement=True, primary_key=True)
    name = db.Column(db.String(64), nullable=False, index=True, unique=True)
    city = db.Column(db.String(64), nullable=False)
    district = db.Column(db.String(64), nullable=False)
    address = db.Column(db.String(255), nullable=False)
    phone = db.Column(db.String(16), nullable=False)
    score = db.Column(db.Float(3, 1))
    hall_num = db.Column(db.Integer, nullable=False)
    # 服务费
    service_money = db.Column(db.Numeric(3, 1))
    # 限购数量
    astrict = db.Column(db.Integer)
    # 电影院状态 True营业 False不营业
    flag = db.Column(db.Integer, default=1)
    is_delete = db.Column(db.Boolean, default=True)

    hs_list = db.relationship('HallScheduling',
                              lazy='dynamic',
                              backref='cinema')
    halls = db.relationship('Hall', lazy='dynamic', backref='cinema')
Exemple #18
0
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')
Exemple #19
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(50))
    password = db.Column(db.String(100))
    phone = db.Column(db.String(20))
    email = db.Column(db.String(50))
    create_time = db.Column(db.DateTime, default=datetime.now)
    # 建立表联系
    loans = db.relationship('Loan', backref='user')

    def __str__(self):
        return self.username
Exemple #20
0
class Hall(db.Model):
    hid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    # 影厅的名字
    name = db.Column(db.String(100), nullable=False)
    # 1表示 2D 21 3D 3表示4D  4 表示  3D MAX
    screen_type = db.Column(db.Integer, nullable=False)
    # 影厅的座位
    seat_num = db.Column(db.Integer, nullable=False)
    # 影厅的状态 1 表示营业  2 表示打烊
    status = db.Column(db.Integer, default=1)
    # 是否删除
    is_delete = db.Column(db.Boolean, default=True)
    cid = db.Column(db.Integer, db.ForeignKey(Cinema.cid))
    hs_list = db.relationship('HallScheduling', lazy='dynamic', backref='hall')
Exemple #21
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')
Exemple #22
0
class SubCategory(db.Model):
    sub_id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    # 创建外键字段
    # 主表类名.主键字段 或者 主表表名.列名('category.cate_id')
    # 如果给表名或者列名起别名,要换成别名
    cate_id = db.Column(db.Integer, db.ForeignKey(Category.cate_id))
    name = db.Column(db.String(60), unique=True, index=True, nullable=False)
    sort = db.Column(db.Integer)
    create_date = db.Column(db.DateTime, default=datetime.datetime.now())
    status = db.Column(db.Boolean, default=True)
    is_delete = db.Column(db.Boolean, default=True)
    types = db.relationship('CategoryType',
                            lazy='dynamic',
                            backref='categoryType')
Exemple #23
0
class Film(db.Model):
    __tablename__ = 't_film'
    id = db.Column(db.String(255), primary_key=True)
    actor = db.Column(db.String(255))  # 演员
    cata_log_name = db.Column(db.String(255))  # 类型:电影
    cata_log_id = db.Column(db.String(255))  # 类型id
    evaluation = db.Column(db.String(255))  #
    image = db.Column(db.String(255))  # 图片地址,相对路径
    is_use = db.Column(db.Integer)  # 是否可用?
    loc_name = db.Column(db.String(255))  # 国籍:美国
    loc_id = db.Column(db.String(255))  # 国籍id
    name = db.Column(db.String(255))  # 电影名
    on_decade = db.Column(db.String(255))  # 上映时间
    plot = db.Column(db.Text)  # 介绍
    resolution = db.Column(db.String(255))  # 清晰度
    status = db.Column(db.String(255))  # 状态:全集?
    sub_class_name = db.Column(db.String(255))  # 类型1 喜剧片
    sub_class_id = db.Column(db.String(255))  # 类型id
    type_name = db.Column(db.String(255))  # 类型2:  奇幻片
    type_id = db.Column(db.String(255))  # 类型id
    update_time = db.Column(db.String(255))  # 更新时间
    is_vip = db.Column(db.Integer)  # 是否vip
    raties = db.relationship('Raty', backref='film')
    reses = db.relationship('Res', backref='film')
Exemple #24
0
class User(db.Model):
    # name 表示列名
    # 修改表名
    # __tablename__ = ''
    user_id = 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(64), nullable=False)
    age = db.Column(db.Integer)
    create_date = db.Column(db.DateTime, default=datetime.datetime.now())
    is_delete = db.Column(db.Boolean, default=False)
    # wight = db.Column(db.Float(2))
    price = db.Column(db.Numeric(7, 2), nullable=False)
    addresses = db.relationship('Address', backref='user')
Exemple #25
0
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)
    # True 正常  False 损毁
    status = db.Column(db.Boolean, default=True)
    # 是否可选
    is_choose = db.Column(db.Boolean, default=True)
    # 是否删除
    is_delete = db.Column(db.Boolean, default=True)
    #     外键设置
    cid = db.Column(db.Integer, db.ForeignKey(Cinema.cid))
    hid = db.Column(db.Integer, db.ForeignKey(Hall.hid))
    ss = db.relationship('SeatScheduling', uselist=False, backref='seat')
class SubCategory(db.Model):
    sub_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    # 创建外键字段
    cate_id = db.Column(db.Integer,
                        db.ForeignKey(Category.cate_id, ondelete='CASCADE'))
    # 表名(如果设置__tablename__则使用修改后的名称)  +.   +字段(如果设置name则使用修改后的名称)
    # cate_id = db.Column(db.Integer,db.ForeignKey('category.cate_id'))
    name = db.Column(db.String(60), unique=True, index=True, nullable=False)
    status = db.Column(db.Boolean, default=1)
    sort = db.Column(db.Integer)
    create_date = db.Column(db.DateTime, default=datetime.now())
    is_delete = db.Column(db.Boolean, default=0)
    #  uselist = True(默认)   一对多,   uselist = Fasle  一对一
    types = db.relationship('CategoryType',
                            uselist=True,
                            lazy='dynamic',
                            backref='sub')
Exemple #27
0
class Cate(db.Model):
    cid = db.Column(db.Integer, primary_key=True)
    cname = db.Column(db.String(64), index=True, unique=True)
    #建立关联关系的对象,懒加载
    '''
     参数一  argument 关联对象的类名
     参数二  lazy 
            可选项:
            1.select 默认值 一条sql语句把所有的相关的数据全部查出来 
            2.dynamic 只查询主表的数据,生成查询子表的sql语句,需要子表的数据时再去查询
            3.immediate  等主表数据查询完成之后再去查询子表的数据
     参数 可选项      
        uselist=None, 建立一对一关系  uselist = False
        order_by=False, 排序时候使用order_by = [UserShop.sid]
        backref=None,反向引用(当两个对象需要双向引用时候使用)
        back_populates=None,
    '''
    shops = db.relationship('UserShop', back_populates='cate', lazy='dynamic')
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.now())
    status = db.Column(db.Boolean, default=1)
    # uselist  如果设置为False  表示一对一
    # 默认为 True
    '''
    lazy 参数部分可选值
    'select'   表示一次性将所有的数据加载进所有的内存
    'dynamic'   延迟加载 先加载主表的数据,当我们使用子表相关数据才去执行查询操作
    
    
    '''
    subs = db.relationship('SubCategory',
                           uselist=True,
                           lazy='dynamic',
                           backref='category')
Exemple #29
0
class Teachers(db.Model):
    STATUS = {
        '离职': 0,
        '在职': 1,
        '在假': 2,
    }
    SUBJECT = {
        '语文': 1,
        '数学': 2,
        '体育': 3,
        '英语': 4,
    }
    tid = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(16), index=True, nullable=False)
    pwd = db.Column(db.String(128), nullable=False)
    email = db.Column(db.String(32), index=True, unique=True, nullable=False)
    head_img = db.Column(db.String(64))
    # 学科
    subject = db.Column(db.Integer)
    # 是否删除
    is_status = db.Column(db.Integer, nullable=False)
    classes = db.relationship('Classes', backref='teachers')
Exemple #30
0
class Students(db.Model):
    STATUS = {
        '休学': 0,
        '在读': 1,
        '请假': 2,
        '毕业': 3,
        '辍学': 4,
    }
    sid = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(16), index=True, nullable=False)
    pwd = db.Column(db.String(128), nullable=False)
    email = db.Column(db.String(32), index=True, nullable=False)
    # 头像
    head_img = db.Column(db.String(64))
    # 入学年
    period = db.Column(db.Integer, nullable=False)
    # 性别
    sex = db.Column(db.Boolean, nullable=False)
    # 年龄
    old = db.Column(db.Integer)
    # 班级
    cls = db.Column(db.Integer, db.ForeignKey('classes.cid'))
    is_status = db.Column(db.Integer)
    classes = db.relationship('Classes', backref='students')