Exemplo n.º 1
0
 def put(self, request, pk, format=None):
     product = Product.objects.get(id=pk)
     serializer = ProductSerializer(product, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 2
0
def product_list(request):
    if request.method == 'GET':
        product = Product.objects.order_by('-published')
        serializer = ProductSerializer(product,
                                       many=True,
                                       context={'request': request})
        return JsonResponse(serializer.data, safe=False)
Exemplo n.º 3
0
    def __iter__(self):
        product_ids = self.cart.keys()
        products = ProductSerializer(Product.objects.filter(id__in=product_ids), context={'request': self.request}, many=True)
        for product in products.data:
            self.cart[str(product.get("id"))]['product'] = product # to render product attributes
        
        for item in self.cart.values():
            item['price'] = int(item['price'])
            item['total_price'] = item['price'] * item['amount']

            yield item
Exemplo n.º 4
0
def update_product(request, pk):
    product = Product.objects.get(id=pk)
    serializer = ProductSerializer(instance=product,
                                   data=request.data,
                                   context={'request': request})
    serializer.is_valid(raise_exception=True)
    serializer.save()
    return Response(serializer.data)
Exemplo n.º 5
0
class OrderItemSerializer(serializers.ModelSerializer):
    product = ProductSerializer()
    # product = serializers.SerializerMethodField()
    author = UserSerializer()

    # order_count = serializers.SerializerMethodField()
    class Meta:
        model = OrderItem
        fields = [
            'id',
            'count',
            'product',
            'author',
        ]
Exemplo n.º 6
0
 def get(self, request, format=None):
     # category_list = request.GET.get('category', None).split(',')
     car = request.session.get("car")["car_model_id"]
     cat = request.GET.get("category", None)
     if cat:
         categ = Category.objects.get(id=cat)
         snippets = (Product.objects.filter(
             car_model=car,
             category__in=categ.get_descendants(
                 include_self=True)).distinct().order_by("name"))
     else:
         snippets = Product.objects.filter(
             car_model=car).distinct().order_by("name")
     serializer = ProductSerializer(snippets, many=True)
     return Response(serializer.data)
Exemplo n.º 7
0
def create_product(request):
    serializer = ProductSerializer(data=request.data)
    serializer.is_valid(raise_exception=True)
    message = 'Succesfull update'
    serializer.save()
    return Response(serializer.data, message, status=HTTP_201_CREATED)
Exemplo n.º 8
0
def get_product(request, pk):
    products = Product.objects.get(id=pk)
    serializer = ProductSerializer(products,
                                   many=False,
                                   context={'request': request})
    return Response(data=serializer.data, status=HTTP_200_OK)
Exemplo n.º 9
0
def all_product(request):
    products = Product.objects.filter(is_published=True)
    serializer = ProductSerializer(products,
                                   many=True,
                                   context={'request': request})
    return Response(data=serializer.data, status=HTTP_200_OK)
Exemplo n.º 10
0
 def post(self, request, format=None):
     serializer = ProductSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 11
0
 def get(self, request, pk):
     product = Product.objects.get(id=pk)
     serializer = ProductSerializer(product, many=False)
     return Response(serializer.data)
Exemplo n.º 12
0
 def get(self, request, *args, **kwargs):
     products = Product.objects.all()
     serializer = ProductSerializer(products,
                                    many=True,
                                    context={'request': request})
     return Response(serializer.data)
Exemplo n.º 13
0
 def get(self, request, pk):
     product = self.get_object(pk)
     serializer = ProductSerializer(product)
     return Response(serializer.data)