Как сделать конечную точку для добавления товара в корзину с помощью django rest framework? Я искал везде и не мог найти.
Не могли бы вы помочь мне, пожалуйста?
Это мои продукты. Просмотров:
class ProductDetail(generics.RetrieveAPIView):
queryset = Product.objects.all()
serializer_class = ProductSerializer
class AddProduct(ProductDetail, ListCreateApiView):
serializer_class = AddToCartSerializer
@require_POST
def get(self, request):
cart_obj = Cart.objects.get_or_new(request)
product_id = request.POST.get('product_id')
qs = Product.objects.filter(id=product_id)
if qs.count() == 1:
product_obj = qs.first()
if product_obj not in cart_obj.products.all():
cart_obj.products.add(product_obj)
else:
cart_obj.products.remove(product_obj)
request.session['cart_items'] = cart_obj.products.count()
return Response(status=status.HTTP_200_OK, data={'message': 'Product has been added to cart'})
serializers.py
class ProductSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Product
fields = ('url', 'id', 'title', 'description',
'category', 'price', 'quantity',
'in_stock', 'color')
class AddToCartSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = ('id',)