change: change order list serializer
This commit is contained in:
@@ -1,15 +1,33 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from core.apps.orders.models import Order
|
||||
from core.apps.orders.models import Order, OrderItem
|
||||
|
||||
|
||||
class OrderItemSerializer(serializers.ModelSerializer):
|
||||
product = serializers.SerializerMethodField(method_name='get_product')
|
||||
|
||||
class Meta:
|
||||
model = OrderItem
|
||||
fields = [
|
||||
'id', 'quantity', 'price', 'product',
|
||||
]
|
||||
|
||||
def get_product(self, obj):
|
||||
return {
|
||||
'id': obj.product.id,
|
||||
'name_uz': obj.product.name_uz,
|
||||
'name_ru': obj.product.name_ru,
|
||||
}
|
||||
|
||||
|
||||
class OrderSerializer(serializers.ModelSerializer):
|
||||
user = serializers.SerializerMethodField(method_name='get_user')
|
||||
items = OrderItemSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
model = Order
|
||||
fields = [
|
||||
'id', 'order_number', 'status', 'total_price', 'user'
|
||||
'id', 'order_number', 'status', 'total_price', 'user', 'items'
|
||||
]
|
||||
|
||||
def get_user(self, obj):
|
||||
|
||||
@@ -8,7 +8,7 @@ from core.apps.orders.models import Order
|
||||
|
||||
class OrderListApiView(generics.GenericAPIView):
|
||||
serializer_class = OrderSerializer
|
||||
queryset = Order.objects.select_related('user')
|
||||
queryset = Order.objects.select_related('user').prefetch_related('items', 'items__product')
|
||||
permission_classes = [IsAdminUser]
|
||||
|
||||
def get(self, request):
|
||||
|
||||
Reference in New Issue
Block a user