Непоследовательный ключ сессии django
Я реализую функцию корзины, которая получает ключ сессии, поскольку у нее нет логина пользователя. Но каждый раз, когда я добавляю что-то в корзину, она получает другой ключ сессии.
Когда я проверяю админ-панель django, она добавляет данные в корзину, но я получаю пустой массив всякий раз, когда вызываю свой 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)