您当前的位置: 首页 > 

IT之一小佬

暂无认证

  • 2浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

订单管理之更新订单表状态数据

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

更新订单表状态数据

点击修改状态,完成订单表状态的修改操作

接口分析

请求方式: PUT /meiduo_admin/orders/(?P\d+)/status/

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

参数类型是否必须说明statusstr是订单状态

返回数据: JSON

 {
        "order_id": "20181126102807000000004",
        "status": 1
    }
参数类型是否必须说明order_idstr是d订单idstatusint是订单状态

后端实现

from rest_framework.viewsets import ModelViewSet
from meiduo_admin.serializers.orders import OrderSeriazlier
from orders.models import OrderInfo
from meiduo_admin.utils import UserPageNum
from rest_framework.decorators import action
from rest_framework.response import Response


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

    # 在视图中定义status方法修改订单状态
    @action(methods=['put'], detail=True)
    def status(self, request, pk):
        # 获取订单对象
        order = self.get_object()
        # 获取要修改的状态值
        status = request.data.get('status')
        if status is None:
            return Response({'error': '缺少状态值'})
        # 修改订单状态
        order.status = status
        order.save()
        # 返回结果
        ser = self.get_serializer(order)
        return Response({
            'order_id': order.order_id,
            'status': status
        })
关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.0504s