1.概述
首先,我们新开了一个页面,为了方便,我们还是新建一个蓝图,并注册好路由地址,具体的创建方法可以参考之前的文章如何创建蓝图并注册路由地址
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))
# 关联订单详情表与物流信息表
user = db.relationship('User', foreign_keys=[uid])
order_detail = db.relationship('OrderDetail', backref = 'order')
express = db.relationship('Express', backref = 'order')
def to_dict(self):
return {
'id':self.id,
'uid':self.uid,
'uname':self.user.nick_name,
'price':self.price,
'number':self.number,
'pay_status':self.pay_status,
'is_send':self.is_send,
'fapiao_title':self.fapiao_title,
'fapiao_company':self.fapiao_company,
'fapiao_content':self.fapiao_content,
'addrs':self.addrs
}
3.前端编写接口获取订单
# flask_shop/order/view.py
from flask import request
from flask_shop.order import order,order_api
from flask_shop import models,db
from flask_restful import Resource
from flask_shop.utils.message import to_dict_msg
# 获取用户订单列表
@order.route('/order_list')
def order_list():
id = request.args.get('id')
if id:
order = models.Order.query.get(id)
if order:
return to_dict_msg(200, order.to_dict(), '获取订单成功')
else:
return to_dict_msg(10022)
orders = models.Order.query.all()
return to_dict_msg(200, [o.to_dict() for o in orders],'获取订单列表成功!!!!')