I am implementing a cart function which gets session key since it doesnt have user login. But every time I add something to the cart, it gets different session key.
When I check the django admin panel, it adds data to the cart but I get an empty array whenever I call my Get Cart api.
@api_view([‘POST’])
def add_to_cart(request):
try:
session_key = request.session.session_key
if not session_key:
request.session.create()
session_key = request.session.session_key
product_id = request.data.get('product')
quantity = request.data.get('quantity')
size_id = request.data.get('size')
if not all([product_id, quantity, size_id]):
return Response({'error': 'Missing required fields'}, status=status.HTTP_400_BAD_REQUEST)
cart_item = Cart.objects.create(
product_id=product_id,
quantity=quantity,
size_id=size_id,
session_key=session_key
)
serializer = CartSerializer(cart_item)
return Response(serializer.data, status=status.HTTP_201_CREATED)
except Exception as e:
return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
@api_view([‘GET’])
def get_cart_items(request):
session_key = request.session.session_key
cart_items = Cart.objects.filter(session_key=session_key)
serializer = CartSerializer(cart_items, many=True)
return Response(serializer.data)
Kem Pay is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.