+ ChecklistListSerializer with smaller set of fields in /checklist/

This commit is contained in:
Phil Zhitnikov 2024-05-26 16:21:09 +04:00
parent 5a2216f0c4
commit d07537cca3
2 changed files with 16 additions and 1 deletions

View File

@ -193,6 +193,17 @@ class ChecklistSerializer(serializers.ModelSerializer):
)
class ChecklistListSerializer(ChecklistSerializer):
class Meta:
model = ChecklistSerializer.Meta.model
fields = ('id', 'status',
'category', 'brand', 'model', 'size', 'preview_image_url',
'price_yuan', 'price_rub', 'full_price', 'real_price',
'comment',
'poizon_tracking', 'cdek_tracking', 'delivery', 'delivery_display',
'created_at', 'status_updated_at')
class ClientChecklistSerializerMixin:
def validate(self, attrs):
gift = attrs.get('gift')

View File

@ -20,7 +20,7 @@ from store.models import Checklist, Category, PaymentMethod, Promocode, Gift
from core.models import GlobalSettings
from store.serializers import (ChecklistSerializer, CategorySerializer, CategoryFullSerializer,
PaymentMethodSerializer, PromocodeSerializer, ClientUpdateChecklistSerializer,
GiftSerializer, ClientCreateChecklistSerializer)
GiftSerializer, ClientCreateChecklistSerializer, ChecklistListSerializer)
from account.permissions import ReadOnly, IsManager, IsAdmin
@ -75,6 +75,10 @@ class ChecklistAPI(viewsets.ModelViewSet):
elif self.action in ['update', 'partial_update', 'destroy']:
return ClientUpdateChecklistSerializer
# Simplified list serializer
elif self.action == "list":
return ChecklistListSerializer
# Fallback to error
self.permission_denied(self.request, **self.kwargs)