您当前的位置: 首页 > 

IT之一小佬

暂无认证

  • 0浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

订单管理之获取订单表详情数据数据

IT之一小佬 发布时间:2021-07-30 17:51:29 ,浏览量:0

获取订单表详情数据数据

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

接口分析

请求方式: GET /meiduo_admin/orders/(?P\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是订单iduserstr是用户名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表

from rest_framework import serializers
from orders.models import OrderInfo, OrderGoods
from goods.models import SKU
from .skus import SKUGoodsSerializer


class SKUSerializer(serializers.ModelSerializer):
    """
        商品sku表序列化器
    """

    class Meta:
        model = SKU
        fields = ('name', 'default_image')


class OrderGoodsSerializers(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 = OrderGoodsSerializers(many=True, read_only=True)

    class Meta:
        model = OrderInfo
        fields = '__all__'

关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.0375s