diff --git a/backend/product/views.py b/backend/product/views.py index 545fc4e..ccc51ee 100644 --- a/backend/product/views.py +++ b/backend/product/views.py @@ -54,10 +54,15 @@ class ProductView(APIView): # authentication_classes = [] def get(self, request, pk): product = get_object_or_404(ProductModel, id=pk) - 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, context={'request': request}) - product_ser = self.serializer_class(instance=product, many=False, context={'request': request, 'view_type': 'instance', 'cart_items': cart_items_ser.data}) + if request.user.is_authenticated: + 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, context={'request': request}) + product_ser_context = {'request': request, 'view_type': 'instance', 'cart_items': cart_items_ser.data} + else: + product_ser_context = {'request': request, 'view_type': 'instance'} + + product_ser = self.serializer_class(instance=product, many=False, context=product_ser_context) return Response(product_ser.data, status=status.HTTP_200_OK)