added EventListSerializer for optimizing
This commit is contained in:
@@ -45,6 +45,21 @@ class EventCategorySerializer(serializers.ModelSerializer):
|
||||
fields = ["id", "title", "image", "description", "video_url"]
|
||||
|
||||
|
||||
class EventListSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Event
|
||||
fields = [
|
||||
"id",
|
||||
"title",
|
||||
"description",
|
||||
"start_date",
|
||||
"end_date",
|
||||
"entry_fee",
|
||||
"category",
|
||||
"image",
|
||||
]
|
||||
|
||||
|
||||
class EventDetailSerializer(serializers.ModelSerializer):
|
||||
tags = TagSerializer(many=True, read_only=True)
|
||||
images = serializers.SerializerMethodField()
|
||||
|
||||
@@ -25,6 +25,7 @@ from manage_events.api.serializers import (
|
||||
IAmPrincipalLocationSerializer,
|
||||
PrincipalPreferenceSerializer,
|
||||
VenueSerializer,
|
||||
EventListSerializer
|
||||
)
|
||||
from manage_events.models import (
|
||||
EventInteractionType,
|
||||
@@ -186,7 +187,7 @@ class EventsAPIView(APIView):
|
||||
events = services.EventFilterService.filter_events(
|
||||
filter_type=filter, principal=request.user
|
||||
)
|
||||
serializer = EventDetailSerializer(
|
||||
serializer = EventListSerializer(
|
||||
events, context={"request": request}, many=True
|
||||
)
|
||||
return ApiResponse.success(
|
||||
@@ -236,7 +237,7 @@ class MyEventsAPIView(APIView):
|
||||
errors="Invalid filter parameter",
|
||||
)
|
||||
|
||||
serializer = EventDetailSerializer(
|
||||
serializer = EventListSerializer(
|
||||
events, context={"request": request}, many=True
|
||||
)
|
||||
return ApiResponse.success(
|
||||
@@ -265,7 +266,7 @@ class PrinciaplPreferenceEventsAPIView(APIView):
|
||||
if not events.exists():
|
||||
# If no events found based on preferences, get future events
|
||||
events = Event.objects.filter(start_date__gt=today)
|
||||
serializer = EventDetailSerializer(events, many=True)
|
||||
serializer = EventListSerializer(events, many=True)
|
||||
return ApiResponse.success(
|
||||
status=status.HTTP_200_OK,
|
||||
message=constants.SUCCESS,
|
||||
@@ -641,7 +642,7 @@ class EventFilterByLocationAPIView(APIView):
|
||||
events = Event.objects.filter(venue__id__in=venues_within_range)
|
||||
|
||||
# Serialize and return the filtered events
|
||||
serializer = EventDetailSerializer(
|
||||
serializer = EventListSerializer(
|
||||
events, context={"request": request}, many=True
|
||||
)
|
||||
return ApiResponse.success(
|
||||
@@ -666,7 +667,7 @@ class FavoriteEventsList(APIView):
|
||||
active=True,
|
||||
draft=False,
|
||||
)
|
||||
serializer = EventDetailSerializer(
|
||||
serializer = EventListSerializer(
|
||||
events, context={"request": request}, many=True
|
||||
)
|
||||
return ApiResponse.success(
|
||||
@@ -707,7 +708,7 @@ class EventDateRangeAPIView(APIView):
|
||||
& Q(draft=False)
|
||||
)
|
||||
|
||||
serializer = EventDetailSerializer(
|
||||
serializer = EventListSerializer(
|
||||
events, context={"request": request}, many=True
|
||||
)
|
||||
return ApiResponse.success(
|
||||
@@ -806,7 +807,7 @@ class PrincipalEventsInteractionView(APIView):
|
||||
events
|
||||
) # To ensure that the queryset is evaluated and we don't send a QuerySet object in the serializer context
|
||||
|
||||
serializer = EventDetailSerializer(
|
||||
serializer = EventListSerializer(
|
||||
events, context={"request": request}, many=True
|
||||
)
|
||||
return ApiResponse.success(
|
||||
|
||||
Reference in New Issue
Block a user