Exemplo n.º 1
0
    def get(self, request):
        id = request.query_params.get('id')

        goods = Goods.objects.get(id=id)

        cat = goods.category

        cat_par = cat.parent

        cat_data = SonSerializer(cat).data

        cat_data_par = SonSerializer(cat_par).data

        cat_data['parent'] = cat_data_par

        recommend_goods = Goods.objects.filter(category_id=cat.id).exclude(
            id=id)

        recommend_goods = GoodsSerializer(recommend_goods, many=True).data

        cat_data['recommend_goods'] = recommend_goods
        goods_data = GoodsSerializer(goods).data

        goodsalbum_set = goods.goodsalbum_set.all()

        goodsalbum_set = GoodsAlbumSerializer(goodsalbum_set, many=True).data

        goods_data['goodsalbum_set'] = goodsalbum_set

        cat_data['goods'] = goods_data

        return Response(cat_data)
Exemplo n.º 2
0
 def post(self, request):
     post = GoodsSerializer(data=request.data)
     if post.is_valid():
         try:
             temp = Product.objects.get(name=post.data["name"])
             return Response('existed!')
         except ObjectDoesNotExist:
             p = GoodsSerializer.create(post, request.data)
             return Response({'id': p.id})
     else:
         return Response({'result': 404})
Exemplo n.º 3
0
 def put(self, request):
     get = request.GET
     if get.get('id'):
         try:
             p = Product.objects.get(id=request.GET['id'])
             serializer = GoodsSerializer(data=request.data)
             if serializer.is_valid():
                 GoodsSerializer.update(serializer, p, request.data)
                 return Response({'result': 200})
             return Response(serializer.errors)
         except ValueError:
             return Response('Illegal Input')
         except ObjectDoesNotExist:
             return Response({'result': 404})
     return Response('please input an id')
Exemplo n.º 4
0
class UserFavDetailSerializer(serializers.ModelSerializer):
    # 获取详细的外键信息
    goods = GoodsSerializer()

    class Meta:
        model = UserFav
        fields = ("goods", "id")
Exemplo n.º 5
0
class UserFavDetailSerializer(serializers.ModelSerializer):

    goods = GoodsSerializer()

    class Meta:
        model = UserFav
        fields = ('goods', 'id')
Exemplo n.º 6
0
class ShoppingCartDetailSerializer(serializers.ModelSerializer):

    goods = GoodsSerializer()

    class Meta:
        model = ShoppingCart
        fields = "__all__"
Exemplo n.º 7
0
class ShoppingCartDetailSerializers(serializers.ModelSerializer
                                    ):  #只希望序列化goods_id,不希望序列化其他字段
    goods = GoodsSerializer()

    class Meta:
        model = ShoppingCart
        fields = '__all__'
Exemplo n.º 8
0
class OrderGoodsSerialzier(serializers.ModelSerializer):
    # 显示外键的详细信息
    goods = GoodsSerializer(many=False)  # 暂时发现many=False与""没有区别

    class Meta:
        model = OrderGoods
        fields = "__all__"
Exemplo n.º 9
0
class OrderGoodsSerializer(serializers.ModelSerializer):

    goods = GoodsSerializer()

    class Meta:
        model = OrderGoods
        fields = "__all__"
Exemplo n.º 10
0
class ShopCartDetailSerializer(serializers.ModelSerializer):
    goods = GoodsSerializer(many=False,
                            read_only=True)  # 一个ShopCart记录对应只有一个Goods

    class Meta:
        model = ShoppingCart
        fields = ("goods", "nums")
Exemplo n.º 11
0
 def get(self, request):
     get = request.GET
     try:
         if get.get('id'):
             a = get.get('id')
             temp = Product.objects.get(id=a)
             return Response(GoodsSerializer(temp).data)
         else:
             type_id = get.get('type_id')
             count_pp = get.get('count_pp')
             page = get.get('page')
             temp = Product.objects.filter(type_id=type_id)
             return Response({'product': [GoodsSerializer(j).data for j in temp]})
     except ValueError:
         return Response('Illegal Input')
     except ObjectDoesNotExist:
         return Response({'result': 404})
Exemplo n.º 12
0
    def get(self, request):

        top = Goods.objects.filter(is_red=1)[:4]
        top = GoodsSerializer(top, many=True).data

        data = {'is_red': top}

        return Response(data)
Exemplo n.º 13
0
class ShopCartDetailSerializer(serializers.ModelSerializer):
    goods = GoodsSerializer(many=False, read_only=True)

    class Meta:
        model = ShoppingCart
        fields = ("goods", "nums","user")
        extra_kwargs = {
            "goods":{"lookup_field":"goods_id"}
        }
Exemplo n.º 14
0
class ShopCartDetailSerializer(serializers.ModelSerializer):
    '''
    购物车商品详情信息
    '''
    # 一个购物车对应一个商品
    goods = GoodsSerializer(many=False, read_only=True)

    class Meta:
        model = ShoppingCart
        fields = ("goods", "nums")
Exemplo n.º 15
0
 def list(self, request, *args, **kwargs):
     res = []
     favorites = Favorite.objects.filter(user=request.user)
     for instance in favorites:
         good = Good.objects.get(id=instance.good.id)
         good = GoodsSerializer(good).data
         good['images'][0][
             'image'] = 'http://127.0.0.1:8000' + good['images'][0]['image']
         good['detail'] = 'http://127.0.0.1:8000' + good['detail']
         res.append(good)
     return Response(res)
Exemplo n.º 16
0
class UserFavDetailSerializer(serializers.ModelSerializer):
    '''
    用户收藏详情
    '''

    # 通过商品id获取收藏的商品,需要嵌套商品的序列化
    goods = GoodsSerializer()

    class Meta:
        model = UserFav
        fields = ("goods", "id")
Exemplo n.º 17
0
 def retrieve(self, request, *args, **kwargs):
     res = {}
     instance = Favorite.objects.filter(user=request.user,
                                        good__id=kwargs.get('good_id', 0))
     if len(instance) > 0:
         res['code'] = 0
         good_id = instance[0].good.id
         good = Good.objects.get(id=good_id)
         res['good'] = GoodsSerializer(good).data
     else:
         res['code'] = 1
     return Response(res)
Exemplo n.º 18
0
class UserFavDetailSerializer(serializers.ModelSerializer):
    """
    用户收藏详情
    """
    goods = GoodsSerializer()

    class Meta:
        model = UserFav
        fields = (
            "goods",
            "id",
        )
Exemplo n.º 19
0
    def get(self, request):

        cat_id = request.query_params.get('category_id')
        ordering = request.query_params.get('ordering')

        cat = GoodsCategory.objects.get(id=cat_id)

        if cat.parent_id == 0:
            pass
        if ordering:
            goods = Goods.objects.filter(
                category_id=cat_id).order_by(ordering).all()
        else:
            goods = Goods.objects.filter(category_id=cat_id).all()
        goods_data = GoodsSerializer(goods, many=True).data
        return Response(goods_data)
Exemplo n.º 20
0
    def get(self, request):

        bcats = GoodsCategory.objects.filter(parent=0)
        # bcats=CateSerializer(bcats,many=True).data
        lis = []
        for bcat in bcats:
            bcat_data = CateSerializer(bcat).data
            scats = bcat.goodscategory_set.all()
            ids = []
            for scat in scats:
                ids.append(scat.id)
            goods = Goods.objects.filter(category_id__in=ids)[:5]
            goods = GoodsSerializer(goods, many=True).data

            bcat_data['goods'] = goods

            lis.append(bcat_data)

        return Response(lis)
Exemplo n.º 21
0
 def get(self, request):
     # 返回前所有商品的前10条数据
     goods_list = Goods.objects.all()[:10]
     serializer = GoodsSerializer(goods_list, many=True)
     return Response(serializer.data)
Exemplo n.º 22
0
class ShopCartDetailSerializer(serializers.ModelSerializer):
    goods = GoodsSerializer(many=False)

    class Meta:
        model = Cart
        fields = '__all__'
Exemplo n.º 23
0
class ShoppingCartDetailSerializer(serializers.ModelSerializer):
    goods = GoodsSerializer(many=False, read_only=True)

    class Meta:
        model = ShoppingCart
        fields = ('goods', 'nums')
Exemplo n.º 24
0
class CartSerializer(serializers.ModelSerializer):
    c_goods = GoodsSerializer()

    class Meta:
        model = Cart
        fields = '__all__'
Exemplo n.º 25
0
class UserFavDetailSerializer(serializers.ModelSerializer):
    goods = GoodsSerializer()

    class Meta:
        model = UserFav
        fields = ["goods", "id"]
Exemplo n.º 26
0
class OrderGoodsSerialzier(serializers.ModelSerializer):
    goods = GoodsSerializer(many=False)

    class Meta:
        model = OrderGoods
        fields = "__all__"