阿语Python项目实操之美多后台管理-订单管理6.2节获取订单表详情数据数据

获取订单表详情数据数据

当点击订单详情时,我们需要获取订单详情数据

接口分析

请求方式:GET /meiduo_admin/orders/(?P<pk>\d+)/

请求参数:通过请求头传递jwt token数据。

返回数据:JSON

  {
        "order_id": "20181126102807000000004",
        "user": "zxc000",
        "total_count": 5,
        "total_amount": "52061.00",
        "freight": "10.00",
        "pay_method": 2,
        "status": 1,
        "create_time": "2018-11-26T18:28:07.470959+08:00",
        "skus": [
            {
                "count": 1,
                "price": "6499.00",
                "sku": {
                    "name": "Apple iPhone 8 Plus (A1864) 64GB 金色 移动联通电信4G手机",
                    "default_image_url": "http://image.meiduo.site:8888/group1/M00/00/02/CtM3BVrRZCqAUxp9AAFti6upbx41220032"
                }
            },
            ......
        ]
    }
返回值类型是否必须说明
order_idint订单id
userstr用户名
total_countint商品总量
total_amountint总价
freightint运费
pay_methodint支付方式
statusint订单状态
create_timedate订单日期
skus数组订单商品信息

后端实现

class OrdersView(ModelViewSet):
    serializer_class = OrderSeriazlier
    queryset = OrderInfo.objects.all()
    pagination_class = PageNum

序列化器的定义,在返回数据时涉及到三张表的嵌套返回,订单基本信息表,订单商品表,商品sku表


class SKUSerialzier(serializers.ModelSerializer):

    """
        商品sku表序列化器
    """
    class Meta:
        model=SKU
        fields=('name','default_image')

class OrderGoodsSerialziers(serializers.ModelSerializer):
    """
        订单商品序列化器
    """
    # 嵌套返回sku表数据
    sku=SKUGoodsSerializer(read_only=True)
    class Meta:
        model=OrderGoods
        fields=('count','price','sku')

class OrderSeriazlier(serializers.ModelSerializer):
    """
        订单序列化器
    """
    # 关联嵌套返回 用户表数据和订单商品表数据
    user=serializers.StringRelatedField(read_only=True)
    skus=OrderGoodsSerialziers(many=True,read_only=True)

    class Meta:
        model =  OrderInfo
        fields = '__all__'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值