order list view and serilaizer

This commit is contained in:
Parsa Nazer
2025-02-25 00:54:50 +03:30
parent 1246a3a8bb
commit 880ab60fac
4 changed files with 33 additions and 19 deletions
+12 -7
View File
@@ -4,7 +4,7 @@ from rest_framework.views import APIView, Response
from django.shortcuts import get_object_or_404
from product.models import ProductVariant
from rest_framework.permissions import IsAuthenticated
from .serializers import OrderItemSerailzier, OrderModelSerializer
from .serializers import *
# from cart.models import
from rest_framework import status
from .models import OrderItemModel, OrderModel
@@ -53,11 +53,6 @@ class CartItemViews(APIView):
user=request.user,
status='CART'
)
# order_item, created = OrderItemModel.objects.get_or_create(
# order=cart_order,
# product=product_variant,
# defaults={'quantity': request.data.get('quantity', 1)}
# )
order_item = get_object_or_404(OrderItemModel, order=cart_order, product=product_variant)
order_item.delete()
return Response({'detail': f'محصول {product_variant.product.name} از سبد خرید پاک شد'}, status=status.HTTP_204_NO_CONTENT)
@@ -66,9 +61,19 @@ class CartItemViews(APIView):
class CartView(APIView):
permission_classes = [IsAuthenticated]
serializer_class = OrderModelSerializer
serializer_class = CartSerializer
def get(self, request):
user = request.user
cart_instance, created = OrderModel.objects.get_or_create(user=user, status='CART')
cart_ser = self.serializer_class(instance=cart_instance, context={'request': request})
return Response(cart_ser.data, status=status.HTTP_200_OK)
class OrderlistView(APIView):
permission_classes = [IsAuthenticated]
serializer_class = OrderSerializer
def get(self, request):
user = request.user
orders = OrderModel.objects.filter(user=user).exclude(status="CART")
orders_ser = self.serializer_class(instance=orders, many=True, context={'request': request})
return Response(orders_ser.data, status=status.HTTP_200_OK)