我们在点击购物车的时候,不单显示价格,数量 还会显示商品的名称,图片或描述之类的
所以之前返回的内容只有商品的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
搞定
完结