order cart

This commit is contained in:
Parsa Nazer
2025-02-23 23:10:26 +03:30
parent 72b50e6051
commit b5ce2e5fc4
3 changed files with 11 additions and 5 deletions
+2 -1
View File
@@ -9,6 +9,7 @@ class OrderItemSerailzier(serializers.ModelSerializer):
read_only_fields = ('order', 'product') read_only_fields = ('order', 'product')
class OrderModelSerializer(serializers.ModelSerializer): class OrderModelSerializer(serializers.ModelSerializer):
items = OrderItemSerailzier(many=True)
class Meta: class Meta:
model = OrderModel model = OrderModel
fields = ['address', 'created_at', 'is_paid', 'status', 'discount_code'] fields = ['address', 'created_at', 'is_paid', 'status', 'discount_code', 'items']
+2 -2
View File
@@ -6,6 +6,6 @@ from .views import CartItemViews, CartView
urlpatterns = [ urlpatterns = [
path('cart', CartView.as_view()), path('cart', CartView.as_view()),
path('cart/item/<int:pk>', CartItemViews.as_view(), name='change-item-cart'), path('cart/item/<int:pk>', CartItemViews.as_view(), name='change-item-cart'),
path('payment', CartView.as_view()), # path('payment', CartView.as_view()),
path('', CartView.as_view()), # path('', CartView.as_view()),
] ]
+7 -2
View File
@@ -4,7 +4,7 @@ from rest_framework.views import APIView, Response
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from product.models import ProductVariant from product.models import ProductVariant
from rest_framework.permissions import IsAuthenticated from rest_framework.permissions import IsAuthenticated
from .serializers import OrderItemSerailzier from .serializers import OrderItemSerailzier, OrderModelSerializer
# from cart.models import # from cart.models import
from rest_framework import status from rest_framework import status
from .models import OrderItemModel, OrderModel from .models import OrderItemModel, OrderModel
@@ -65,5 +65,10 @@ class CartItemViews(APIView):
class CartView(APIView): class CartView(APIView):
permission_classes = [IsAuthenticated]
serializer_class = OrderModelSerializer
def get(self, request): def get(self, request):
return Response({'detail': 'این بخش در حال توسعه می باشد تا اماده شدن این بخش به نقاشی خود ادامه دهید'}, status=status.HTTP_404_NOT_FOUND) 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)