test of in cart quantity

This commit is contained in:
Parsa Nazer
2025-03-17 17:38:00 +03:30
parent 966b6bf538
commit 57e19c5abb
2 changed files with 11 additions and 3 deletions
+6 -1
View File
@@ -65,7 +65,12 @@ class ProductVariantSerialzier(serializers.ModelSerializer):
request = self.context.get('request')
if not request or not request.user.is_authenticated:
return 0
return 1
cart_items = self.context.get('cart_items', [])
if cart_items:
for item in cart_items:
if item['product']['id'] == obj.id:
return item['quantity']
return 0
+5 -2
View File
@@ -10,7 +10,7 @@ from rest_framework.permissions import IsAuthenticatedOrReadOnly
from utils.pagination import StructurePagination
from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes
from rest_framework.permissions import AllowAny
from order.serializers import OrderItemSerailzier
# class APIView(APIView):
# def __init__(self, *args, **kwargs):
@@ -54,7 +54,10 @@ class ProductView(APIView):
# authentication_classes = []
def get(self, request, pk):
product = get_object_or_404(ProductModel, id=pk)
product_ser = self.serializer_class(instance=product, many=False, context={'request': request, 'view_type': 'instance'})
cart_obj, _ = OrderModel.objects.get_or_create(user=request.user, status='CART')
cart_items = cart_obj.items.all()
cart_items_ser = OrderItemSerailzier(cart_items, many=True)
product_ser = self.serializer_class(instance=product, many=False, context={'request': request, 'view_type': 'instance', 'cart_items': cart_items_ser.data})
return Response(product_ser.data, status=status.HTTP_200_OK)