Bootstrap

Vue + Django 2.0.6 学习笔记 10.3 购物车列表实现(带商品详情)

我们在点击购物车的时候,不单显示价格,数量 还会显示商品的名称,图片或描述之类的

所以之前返回的内容只有商品的id和数量。 这肯定是不够的的。所以我们需要将商品明细添加至购物车的序列化类中

 

首先 在serializer中再添加一个用于list请求时的序列化类

from goods.serializers import GoodsSerializer

class ShopCartDetailSerializer(serializers.ModelSerializer):
    goods = GoodsSerializer(many=False)
    class Meta:
        model = ShoppingCart
        fields = "__all__"

然后像之前处理我的收藏时一样的方法,重写get_serializer_class函数 来动态处理serializer

class ShoppingCartViewset(viewsets.ModelViewSet):
    def get_serializer_class(self):
        if self.action == 'list':
            return ShopCartDetailSerializer
        else:
            return ShopCartSerializer

搞定

完结

;