change: change order list serializer and views

This commit is contained in:
behruz-dev
2025-08-29 11:52:41 +05:00
parent 3c8f5051dd
commit 74bf4b3c31
2 changed files with 17 additions and 2 deletions

View File

@@ -4,9 +4,24 @@ from core.apps.orders.models import Order
class OrderListSerializer(serializers.ModelSerializer):
location_to = serializers.SerializerMethodField(method_name='get_location_to')
location_from = serializers.SerializerMethodField(method_name='get_location_from')
class Meta:
model = Order
fields = [
'id', 'order_number', 'name', 'date', 'status', 'size', 'total_price', 'is_paid', 'location', 'location_to',
'location_from'
]
def get_location_to(self, obj):
return {
'id': obj.location_to.id,
'name': obj.location_to.name
}
def get_location_from(self, obj):
return {
'id': obj.location_from.id,
'name': obj.location_from.name
}

View File

@@ -6,7 +6,7 @@ from core.apps.orders import serializers, models
class OrderListApiView(generics.GenericAPIView):
serializer_class = serializers.OrderListSerializer
queryset = models.Order.objects.all()
queryset = models.Order.objects.select_related('location_to', 'location_from')
permission_classes = [permissions.IsAuthenticated]
def get(self, request):