order list view and serilaizer
This commit is contained in:
+12
-7
@@ -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)
|
||||
Reference in New Issue
Block a user