コード例 #1
0
class BaseModel(object):
    create_time = db.Column(
        db.DateTime,
        default=datetime.now)  # 记录的创建时间  default参数用于设置字段的默认值, 可以为基本类型/函数引用
    update_time = db.Column(
        db.DateTime, default=datetime.now,
        onupdate=datetime.now)  # 记录的更新时间   当记录发生数据更新时, 字段会修改为onupdate参数的值
コード例 #2
0
ファイル: models.py プロジェクト: YDongY/PythonCode
class Category(BaseModel, db.Model):
    """
        新闻分类
    BaseModel 继承 -- 实现创建时间和更新时间的补充
    db.Model 数据模型 -- 实体和数据库表名建立关系
    """
    # 数据库表名 -- 和当前类绑定
    __tablename__ = "info_category"
    """ORM建立  属性 = 数据库字段"""
    id = db.Column(db.Integer, primary_key=True)  # 分类编号
    name = db.Column(db.String(64), nullable=False)  # 分类名
    # 当前新闻分类的具体新闻 -- 关系 ( 新闻表, 反向引用--新闻表中的新闻分类, 懒加载 )
    news_list = db.relationship('News', backref='category', lazy='dynamic')

    def to_dict(self):
        """
            把对象数据转换为字典数据
        """
        # 封装字典
        resp_dict = {
            "id": self.id,
            "create_time": self.create_time.strftime("%Y-%m-%d %H:%M:%S"),
            "name": self.name,
        }
        # 返回字典
        return resp_dict
コード例 #3
0
ファイル: models.py プロジェクト: tangwenpeng/agents_sys
class AdOrder(db.Model, BaseModel):
    '''粉丝量到一定量然后广告接单'''
    __tablename__ = 'adorder'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)  # 主键,自增长
    agent_id = db.Column(db.Integer, db.ForeignKey('agent.id'))
    date_of_order = db.Column(db.DateTime, default=datetime.now)  # 接单日
    push_time = db.Column(db.DateTime)  # 推送广告时间/可以写多个时间
    ad_count = db.Column(db.Integer, nullable=False)  # 广告数量
    screenshots = db.Column(db.String(256))  # 截图
    amount = db.Column(db.Integer)  # 金额/单价
    check_out_date = db.Column(db.DateTime)  # 结算日
    state = db.Column(db.Boolean, default=0, index=True)  # 结算状态: 0表示未结算付款,1表示已结算付款
    remark = db.Column(db.String(50))  # 备注

    def __repr__(self):
        return '<AdOrder %r>' % self.id

    def to_dict(self):
        '''将对象转换为字典数据'''
        adorder_dict = {
            'adorder_id': self.id,
            'agent_id': self.agent_id,
            'date_of_order': self.date_of_order,
            'push_time': self.push_time,
            'ad_count': self.ad_count,
            'screenshots': self.screenshots,
            'amount': self.amount,
            'check_out_date': self.check_out_date,
            'state': self.state,
            'remark': self.remark,
        }
        return adorder_dict
コード例 #4
0
ファイル: user.py プロジェクト: yemomowuwen/blog
class Carousels(BaseModel, db.Model):
    """轮播图"""
    __tablename__ = 'info_carousels'

    id = db.Column(db.Integer, primary_key=True)  # 编号
    name = db.Column(db.String(64))  # 轮播图名字
    categ = db.Column(db.Integer, nullable=False)  # 种类
コード例 #5
0
ファイル: base.py プロジェクト: yemomowuwen/blog
class BaseModel(object):
    """模型基类,为每个模型补充创建时间和更新时间"""

    create_time = db.Column(db.DateTime, default=datetime.now)  # 记录创建时间
    update_time = db.Column(db.DateTime,
                            default=datetime.now,
                            onupdate=datetime.now)  # 记录的更新时间
コード例 #6
0
class Facility(BaseModel, db.Model):
    """设施信息"""

    __tablename__ = "ih_facility_info"

    id = db.Column(db.Integer, primary_key=True)  # 设施编号
    name = db.Column(db.String(32), nullable=False)  # 设施名字
コード例 #7
0
class Category(BaseModel, db.Model):
    """新闻分类"""
    __tablename__ = "info_category"

    id = db.Column(db.Integer, primary_key=True)  # 分类编号
    name = db.Column(db.String(64), nullable=False)  # 分类名
    news_list = db.relationship('News', backref='category', lazy='dynamic')
コード例 #8
0
ファイル: models.py プロジェクト: zhangqiang1003/myBlog
class User(BaseModel, db.Model):
    __tablename__ = "info_user"

    id = db.Column(db.Integer, primary_key=True)  # 用户编号
    nick_name = db.Column(db.String(32), unique=True, nullable=False)  # 用户昵称
    password_hash = db.Column(db.String(128), nullable=False)  # 加密的密码
    last_login = db.Column(db.DateTime, default=datetime.now)  # 最后一次登录时间
    is_admin = db.Column(db.Boolean, default=False)

    @property
    def password(self):
        raise AttributeError("当前属性不可读")

    @password.setter
    def password(self, value):
        self.password_hash = generate_password_hash(value)

    def check_passowrd(self, password):
        return check_password_hash(self.password_hash, password)

    def to_dict(self):
        resp_dict = {
            "id": self.id,
            "nick_name": self.nick_name,
        }
        return resp_dict

    def to_admin_dict(self):
        resp_dict = {
            "id": self.id,
            "nick_name": self.nick_name,
            "register": self.create_time.strftime("%Y-%m-%d %H:%M:%S"),
            "last_login": self.last_login.strftime("%Y-%m-%d %H:%M:%S"),
        }
        return resp_dict
コード例 #9
0
ファイル: models.py プロジェクト: chenkaiclyde/kaixinhuilixie
class Category(db.Model):
    '''商品种类表'''
    __tablename__ = "category"

    c_id = db.Column(db.Integer, primary_key=True)  # 种类id
    c_name = db.Column(db.String(50), nullable=False)  # 种类名

    products = db.relationship('Product', backref='category')
コード例 #10
0
class UserFollow(db.Model):
    __tablename__ = "info_user_fans"
    follower_id = db.Column(db.Integer,
                            db.ForeignKey("info_user.id"),
                            primary_key=True)  # 粉丝id
    followed_id = db.Column(db.Integer,
                            db.ForeignKey("info_user.id"),
                            primary_key=True)  # 作者id
コード例 #11
0
class UserCollection(db.Model, BaseModel):
    __tablename__ = "info_user_collection"
    user_id = db.Column(db.Integer,
                        db.ForeignKey("info_user.id"),
                        primary_key=True)  # 用户id
    news_id = db.Column(db.Integer,
                        db.ForeignKey("info_news.id"),
                        primary_key=True)  # 新闻id
コード例 #12
0
ファイル: models.py プロジェクト: chenkaiclyde/kaixinhuilixie
class ShippingAddress(BaseModel, db.Model):
    """收货地址"""
    __tablename__ = "shipping_address"
    id = db.Column(db.Integer, primary_key=True)  # 收件地址id
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))  # 用户编号
    address = db.Column(db.String(100), nullable=False)  # 地址
    nickname = db.Column(db.String(20), nullable=False)  # 收件人姓名
    phoneNumber = db.Column(db.String(30), nullable=False)  # 收件人手机号
コード例 #13
0
ファイル: models.py プロジェクト: chenkaiclyde/kaixinhuilixie
class Brand(db.Model):
    '''商品品牌表'''
    __tablename__ = "brand"

    b_id = db.Column(db.Integer, primary_key=True)  # 品牌id
    b_name = db.Column(db.String(50), nullable=False)  # 品牌名

    prducts = db.relationship('Product', backref='brand')
コード例 #14
0
ファイル: models.py プロジェクト: zhu-zhen-feng/movie_web
class Collection(BaseModel, db.Model):
    """用户收藏视频的表"""
    __tablename__ = "collection"

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False)
    video_id = db.Column(db.Integer,
                         db.ForeignKey("videos.id"),
                         nullable=False)
コード例 #15
0
class Order(BaseModel, db.Model):
    """订单"""

    __tablename__ = "ih_order_info"

    id = db.Column(db.Integer, primary_key=True)  # 订单编号
    user_id = db.Column(db.Integer,
                        db.ForeignKey("ih_user_profile.id"),
                        nullable=False)  # 下订单的用户编号
    house_id = db.Column(db.Integer,
                         db.ForeignKey("ih_house_info.id"),
                         nullable=False)  # 预订的房间编号
    begin_date = db.Column(db.DateTime, nullable=False)  # 预订的起始时间
    end_date = db.Column(db.DateTime, nullable=False)  # 预订的结束时间
    days = db.Column(db.Integer, nullable=False)  # 预订的总天数
    house_price = db.Column(db.Integer, nullable=False)  # 房屋的单价
    amount = db.Column(db.Integer, nullable=False)  # 订单的总金额
    status = db.Column(  # 订单的状态
        db.Enum(
            "WAIT_ACCEPT",  # 待接单,
            "WAIT_PAYMENT",  # 待支付
            "PAID",  # 已支付
            "WAIT_COMMENT",  # 待评价
            "COMPLETE",  # 已完成
            "CANCELED",  # 已取消
            "REJECTED"  # 已拒单
        ),
        default="WAIT_ACCEPT",
        index=True)
    comment = db.Column(db.Text)  # 订单的评论信息或者拒单原因

    def to_dict(self):
        """将订单信息转换为字典数据"""
        order_dict = {
            "order_id":
            self.id,
            "title":
            self.house.title,
            "img_url":
            constants.QINIU_DOMIN_PREFIX +
            self.house.index_image_url if self.house.index_image_url else "",
            "start_date":
            self.begin_date.strftime("%Y-%m-%d"),
            "end_date":
            self.end_date.strftime("%Y-%m-%d"),
            "ctime":
            self.create_time.strftime("%Y-%m-%d %H:%M:%S"),
            "days":
            self.days,
            "amount":
            self.amount,
            "status":
            self.status,
            "comment":
            self.comment if self.comment else ""
        }
        return order_dict
コード例 #16
0
ファイル: models.py プロジェクト: DigitalheroG/Travellog
class IndexCategory(BaseModel, db.Model):
    """新闻分类"""
    __tablename__ = "info_index"

    id = db.Column(db.Integer, primary_key=True)  # 分类编号
    name = db.Column(db.String(64), nullable=False)  # 分类名

    def to_dict(self):
        resp_dict = {"id": self.id, "name": self.name}
        return resp_dict
コード例 #17
0
class HouseImage(BaseModel, db.Model):
    """房屋图片"""

    __tablename__ = "ih_house_image"

    id = db.Column(db.Integer, primary_key=True)
    house_id = db.Column(db.Integer,
                         db.ForeignKey("ih_house_info.id"),
                         nullable=False)  # 房屋编号
    url = db.Column(db.String(256), nullable=False)  # 图片的路径
コード例 #18
0
class Category(BaseModel, db.Model):
    __tablename__ = "info_category"

    id = db.Column(db.Integer, primary_key=True)  # 分类编号
    name = db.Column(db.String(64), nullable=False)  # 分类名
    news_list = db.relationship('News', backref='category', lazy='dynamic')

    def to_dict(self):
        resp_dict = {"id": self.id, "name": self.name}
        return resp_dict
コード例 #19
0
ファイル: models.py プロジェクト: tangwenpeng/agents_sys
class Adminlog(db.Model):
    '''管理员登录日志'''
    __tablename__ = "adminlog"
    id = db.Column(db.Integer, primary_key=True)  # 编号
    admin_id = db.Column(db.Integer, db.ForeignKey('admin.id'))  # 所属管理员
    ip = db.Column(db.String(100))  # 登录IP
    addtime = db.Column(db.DateTime, index=True, default=datetime.now)  # 登录时间

    def __repr__(self):
        return "<Adminlog %r>" % self.id
コード例 #20
0
class CommentLike(BaseModel, db.Model):
    __tablename__ = "info_comment_like"
    comment_id = db.Column("comment_id",
                           db.Integer,
                           db.ForeignKey("info_comment.id"),
                           primary_key=True)  # 评论编号
    user_id = db.Column("user_id",
                        db.Integer,
                        db.ForeignKey("info_user.id"),
                        primary_key=True)  # 用户编号
コード例 #21
0
ファイル: models.py プロジェクト: tangwenpeng/agents_sys
class Role(db.Model):
    '''角色'''
    __tablename__ = "role"
    id = db.Column(db.Integer, primary_key=True)  # 编号
    name = db.Column(db.String(100), unique=True)  # 名称
    auths = db.Column(db.String(600))  # 角色权限列表
    addtime = db.Column(db.DateTime, index=True, default=datetime.now)  # 添加时间
    admins = db.relationship("Admin", backref='role')  # 管理员外键关系关联

    def __repr__(self):
        return "<Role %r>" % self.name
コード例 #22
0
ファイル: models.py プロジェクト: chenkaiclyde/kaixinhuilixie
class Seller(BaseModel, db.Model):
    """用户"""
    __tablename__ = "seller"

    id = db.Column(db.Integer, primary_key=True)  # 卖家编号
    mobile = db.Column(db.String(50), nullable=False)  # 手机号
    seller_name = db.Column(db.String(50), unique=False, nullable=False, default=mobile)  # 卖家昵称
    email = db.Column(db.String(50), nullable=False, default='')  # 邮箱
    address = db.Column(db.String(100), nullable=True)  # 卖家地址

    products = db.relationship('Product', backref='seller')
コード例 #23
0
ファイル: models.py プロジェクト: chenkaiclyde/kaixinhuilixie
class ShopCar(db.Model):
    '''购物车表'''
    __tablename__ = "shop_car"

    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True)  # 用户id
    product_id = db.Column(db.Integer, db.ForeignKey('product.id'), primary_key=True)  # 商品id
    nums = db.Column(db.Integer, default=1, nullable=False)  # 数据库中的数量
    is_remove = db.Column(db.INTEGER, default=0)  # 是否移除

    user = db.relationship('User', backref='shop_car')
    products = db.relationship("Product", backref='shop_car')
コード例 #24
0
ファイル: user.py プロジェクト: yemomowuwen/blog
class CommentLike(BaseModel, db.Model):
    """评论点赞"""
    __tablename__ = 'info_comment_like'
    comment_id = db.Column('comment_id',
                           db.Integer,
                           db.ForeignKey('info_comment.id'),
                           primary_key=True)  # 评论编号
    user_id = db.Column('user_id',
                        db.Integer,
                        db.ForeignKey('blog_customer.id'),
                        primary_key=True)  # 用户编号
コード例 #25
0
ファイル: models.py プロジェクト: zhu-zhen-feng/movie_web
class Subject(BaseModel, db.Model):
    """视频分类"""
    __tablename__ = "subject"

    id = db.Column(db.Integer, primary_key=True)  # 分类编号
    name = db.Column(db.String(64), nullable=False)  # 分类名
    cid = db.Column(db.Integer, db.ForeignKey("subject.id"))
    video_list = db.relationship('Videos', backref='subject', lazy='dynamic')

    def to_dict(self):
        resp_dict = {"id": self.id, "name": self.name, "cid": self.cid}
        return resp_dict
コード例 #26
0
class Area(BaseModel, db.Model):
    """城区"""

    __tablename__ = "ih_area_info"

    id = db.Column(db.Integer, primary_key=True)  # 区域编号
    name = db.Column(db.String(32), nullable=False)  # 区域名字
    houses = db.relationship("House", backref="area")  # 区域的房屋

    def to_dict(self):
        """将对象转换为字典数据"""
        area_dict = {"aid": self.id, "aname": self.name}
        return area_dict
コード例 #27
0
class Category(BaseModel, db.Model):
    """新闻分类"""
    __tablename__ = "info_category"

    id = db.Column(db.Integer, primary_key=True)  # 分类编号
    name = db.Column(db.String(64), nullable=False)  # 分类名
    news_list = db.relationship('News', backref='category', lazy='dynamic')
    # 新闻分类标题栏
    def to_dict(self):
        return {
            'id':self.id,
            'name':self.name
        }
コード例 #28
0
ファイル: models.py プロジェクト: chenkaiclyde/kaixinhuilixie
class OrderForm(BaseModel, db.Model):
    """订单"""
    __tablename__ = "order_form"

    id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=True)  # 订单id
    user_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False, primary_key=True)  # 用户id
    address_id = db.Column(db.INTEGER, db.ForeignKey('shipping_address.id'), nullable=False,
                           primary_key=True)  # 地址id
    status = db.Column(db.INTEGER, nullable=False, default=0)  # 定单状态,0代付款,1待发货,2待收货,3已签收,4已取消,-1未支付
    payment_method = db.Column(db.INTEGER, nullable=False)  # 付款方式,0支付宝,1银联,2ebay,3微信,-1未支付

    products = db.relationship('Product', backref='order_form', secondary='order_product', lazy='dynamic')
    address = db.relationship('ShippingAddress', backref=db.backref('order_form', uselist=False))
コード例 #29
0
ファイル: models.py プロジェクト: ferry-boat/json
class User(BaseModel, db.Model):
    """用户"""
    __tablename__ = "info_user"

    id = db.Column(db.Integer, primary_key=True)  # 用户编号
    nick_name = db.Column(db.String(32), unique=True, nullable=False)  # 用户昵称
    password_hash = db.Column(db.String(128), nullable=False)  # 加密的密码
    mobile = db.Column(db.String(11), unique=True, nullable=False)  # 手机号
    avatar_url = db.Column(db.String(256))  # 用户头像路径
    last_login = db.Column(db.DateTime, default=datetime.now)  # 最后一次登录时间
    is_admin = db.Column(db.Boolean, default=False)
    signature = db.Column(db.String(512))  # 用户签名
    gender = db.Column(  # 订单的状态
        db.Enum(
            "MAN",  # 男
            "WOMAN"  # 女
        ),
        default="MAN")

    # 当前用户收藏的所有新闻
    collection_news = db.relationship("News", secondary=tb_user_collection, lazy="dynamic")  # 用户收藏的新闻
    # 用户所有的粉丝,添加了反向引用followed,代表用户都关注了哪些人(自关联多对多时,需要设置primaryjoin和secondaryjoin)
    followers = db.relationship('User',
                                secondary=tb_user_follows,
                                # 关系属性根据哪个外键查, primaryjoin就设置哪个外键, 另一个设置为secondaryjoin
                                primaryjoin=(id == tb_user_follows.c.followed_id),
                                secondaryjoin=(id == tb_user_follows.c.follower_id),
                                backref=db.backref('followed', lazy='dynamic'),
                                lazy='dynamic')

    # 当前用户所发布的新闻
    news_list = db.relationship('News', backref='user', lazy='dynamic')


    def to_dict(self):
        resp_dict = {
            "id": self.id,
            "nick_name": self.nick_name,
            "avatar_url": constants.QINIU_DOMIN_PREFIX + self.avatar_url if self.avatar_url else "",
            "mobile": self.mobile,
            "gender": self.gender if self.gender else "MAN",
            "signature": self.signature if self.signature else "",
            "followers_count": self.followers.count(),
            "news_count": self.news_list.count()
        }
        return resp_dict

    def to_admin_dict(self):
        resp_dict = {
            "id": self.id,
            "nick_name": self.nick_name,
            "mobile": self.mobile,
            "register": self.create_time.strftime("%Y-%m-%d %H:%M:%S"),
            "last_login": self.last_login.strftime("%Y-%m-%d %H:%M:%S"),
        }
        return resp_dict
コード例 #30
0
class Superlink(BaseModel, db.Model):
    __tablename__ = 'info_superlink'

    id = db.Column(db.Integer, primary_key=True)
    link_name = db.Column(db.String(32), unique=True, nullable=False)
    link_url = db.Column(db.Text(200), nullable=False)

    def to_dic(self):
        dic = {
            'link_id': self.id,
            'link_name': self.link_name,
            'link_url': self.link_url
        }
        return dic