132.(后端)订单管理Model与初始化数据——一对多关系的表模型建立与数据填充

1.概述

本次,我们主要是建立三张表,分别为order订单表,order_detail订单详情表,Express物流信息表。第一张表为主表,第二张主要用于关联第一张,然后记录一些购买情况,第三章主要关联第一张,记录用户订单的物流信息

2.模型建立代码展示


# 订单表
class Order(db.Model, BaseModel):
    __tablename__ = 't_order'
    id = db.Column(db.Integer, primary_key=True)
    uid = db.Column(db.Integer, db.ForeignKey('t_user.id'))
    price = db.Column(db.Float)
    number = db.Column(db.Integer)
    pay_status = db.Column(db.Integer) # 支付状态: 0未支付,1支付
    is_send = db.Column(db.Integer) # 是否发货
    fapiao_title = db.Column(db.String(32))
    fapiao_company = db.Column(db.String(128))
    fapiao_content = db.Column(db.String(521))
    addrs =db.Column(db.String(512))

    # 关联订单详情表与物流信息表
    order_detail = db.relationship('OrderDetail', backref = 'order')
    express = db.relationship('Express', backref = 'order')

# 订单详情表
class OrderDetail(db.Model):
    __tablename__ = 't_order_detail'
    gid = db.Column(db.Integer, db.ForeignKey('t_goods.id'), primary_key=True)
    oid = db.Column(db.Integer, db.ForeignKey('t_order.id'), primary_key=True)
    number = db.Column(db.Integer)
    price = db.Column(db.Float)
    total_price = db.Column(db.Float)



# 物流信息表
class Express(db.Model):
    __tablename__ = 't_express'
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(64))
    update_time = db.Column(db.String(32))
    oid = db.Column(db.Integer, db.ForeignKey('t_order.id'))

3.migrate数据模型的迁移方法

python manager.py db init
python manager.py db migrate
python manager.py db upgrade

4.数据的插入

insert into t_order (id,uid,price,number,pay_status,is_send,fapiao_title,fapiao_company,addrs) value (1,5,100,66,1,1,'','','');
insert into t_order (id,uid,price,number,pay_status,is_send,fapiao_title,fapiao_company,addrs) value (2,6,400,66,1,1,'','','');
insert into t_order (id,uid,price,number,pay_status,is_send,fapiao_title,fapiao_company,addrs) value (3,7,200,66,1,1,'','','');
insert into t_order (id,uid,price,number,pay_status,is_send,fapiao_title,fapiao_company,addrs) value (4,8,300,66,1,1,'','','');


insert into  t_express(oid,update_time,content) value (1,'2020-01-19 12:17:21','商品已经下单');
insert into  t_express(oid,update_time,content) value (1,'2020-01-19 12:27:20','您的订单开始处理');
insert into  t_express(oid,update_time,content) value (1,'2020-01-21 16:34:07','您的订单待配货');
insert into  t_express(oid,update_time,content) value (1,'2020-01-21 16:34:07','您的包裹已出库');
insert into  t_express(oid,update_time,content) value (1,'2020-01-21 19:00:29','包裹正在等待揽收');
insert into  t_express(oid,update_time,content) value (1,'2020-01-22 15:30:00','顺丰速运 已收取快件');
insert into  t_express(oid,update_time,content) value (1,'2020-01-23  5:30:00','快件在【金华婺城集收客户营业部】已装车,准备发往 【金华金东中转场】');
insert into  t_express(oid,update_time,content) value (1,'2020-01-23 20:03:00','快件到达 【金华金东中转场】');
insert into  t_express(oid,update_time,content) value (1,'2020-01-23 22:36:00','快件在【金华金东中转场】已装车,准备发往 【北京首都机场集散中心2】');
insert into  t_express(oid,update_time,content) value (1,'2020-01-24 16:01:00','快件到达 【北京首都机场集散中心2】');
insert into  t_express(oid,update_time,content) value (1,'2020-01-24 16:22:00','快件在【北京首都机场集散中心2】已装车,准备发往 【石家庄高开集散中心】');
insert into  t_express(oid,update_time,content) value (1,'2020-01-25 03:14:00','快件到达 【石家庄高开集散中心】');
insert into  t_express(oid,update_time,content) value (1,'2020-01-25 06:14:00','快件在【石家庄高开集散中心】已装车,准备发往 【衡水桃城集散点】');
insert into  t_express(oid,update_time,content) value (1,'2020-01-25 13:38:00','快件到达 【衡水桃城集散点】');
insert into  t_express(oid,update_time,content) value (1,'2020-01-26 06:26:00','快件在【衡水桃城集散点】已装车,准备发往 【衡水市桃城区肖家屯新村营业点】');
insert into  t_express(oid,update_time,content) value (1,'2020-01-25 07:23:00','快件到达 【衡水市桃城区肖家屯新村营业点】');
insert into  t_express(oid,update_time,content) value (1,'2020-01-25 08:20:00','快件交给潘君策,正在派送途中(联系电话:13788888888,顺丰已开启“安全呼叫”保护您的电话隐私,请放心接听!)');
insert into  t_express(oid,update_time,content) value (1,'2020-01-25 10:01:00','快件派送不成功(因电话无人接听/关机/无信号,暂无法联系到收方客户),正在处理中,待再次派送');
insert into  t_express(oid,update_time,content) value (1,'2020-01-25 11:37:00','已签收,感谢使用顺丰,期待再次为您服务');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想成为数据分析师的开发工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值