serializer for image full path
This commit is contained in:
@@ -15,6 +15,12 @@ class EventImageSerializer(serializers.ModelSerializer):
|
||||
model = EventImage
|
||||
fields = ["image"]
|
||||
|
||||
def get_image(self, obj):
|
||||
request = self.context.get("request")
|
||||
if obj.image and hasattr(obj.image, "url"):
|
||||
return request.build_absolute_uri(obj.image.url)
|
||||
return None
|
||||
|
||||
|
||||
class EventDetailSerializer(serializers.ModelSerializer):
|
||||
images = serializers.SerializerMethodField()
|
||||
|
||||
@@ -23,7 +23,13 @@ from manage_events.api.serializers import (
|
||||
PrincipalPreferenceSerializer,
|
||||
VenueSerializer,
|
||||
)
|
||||
from manage_events.models import EventMaster, Event, EventCategory, PrincipalPreference, Venue
|
||||
from manage_events.models import (
|
||||
EventMaster,
|
||||
Event,
|
||||
EventCategory,
|
||||
PrincipalPreference,
|
||||
Venue,
|
||||
)
|
||||
import requests
|
||||
|
||||
|
||||
@@ -90,7 +96,9 @@ class EventsAPIView(APIView):
|
||||
current_and_future_events = Event.objects.filter(
|
||||
current_and_future_events_query
|
||||
).order_by("-entry_fee")
|
||||
serializer = EventDetailSerializer(current_and_future_events, many=True)
|
||||
serializer = EventDetailSerializer(
|
||||
current_and_future_events, context={"request": request}, many=True
|
||||
)
|
||||
return ApiResponse.success(
|
||||
status=status.HTTP_200_OK,
|
||||
message=constants.SUCCESS,
|
||||
@@ -105,7 +113,9 @@ class EventsAPIView(APIView):
|
||||
current_and_future_events = Event.objects.filter(
|
||||
current_and_future_events_query
|
||||
).order_by("entry_fee")
|
||||
serializer = EventDetailSerializer(current_and_future_events, many=True)
|
||||
serializer = EventDetailSerializer(
|
||||
current_and_future_events, context={"request": request}, many=True
|
||||
)
|
||||
return ApiResponse.success(
|
||||
status=status.HTTP_200_OK,
|
||||
message=constants.SUCCESS,
|
||||
@@ -120,7 +130,9 @@ class EventsAPIView(APIView):
|
||||
preference_events = Event.objects.filter(
|
||||
category__in=preferred_categories_ids, end_date__gte=today
|
||||
).distinct()
|
||||
serializer = EventDetailSerializer(preference_events, many=True)
|
||||
serializer = EventDetailSerializer(
|
||||
preference_events, context={"request": request}, many=True
|
||||
)
|
||||
return ApiResponse.success(
|
||||
status=status.HTTP_200_OK,
|
||||
message=constants.SUCCESS,
|
||||
@@ -177,7 +189,7 @@ class EventDetailAPIView(APIView):
|
||||
interactions = interaction.calculate()
|
||||
|
||||
# Serialize your event data here
|
||||
event_data = EventDetailSerializer(event).data
|
||||
event_data = EventDetailSerializer(event, context={"request": request}).data
|
||||
event_data["interactions"] = interactions
|
||||
|
||||
return ApiResponse.success(
|
||||
@@ -300,7 +312,9 @@ class IAmPrincipalLocationAPIView(APIView):
|
||||
# Assuming there's a UserLocation model that stores user locations,
|
||||
# and it has a ForeignKey to the user model.
|
||||
try:
|
||||
user_location = IAmPrincipalLocation.objects.filter(principal=request.user).last()
|
||||
user_location = IAmPrincipalLocation.objects.filter(
|
||||
principal=request.user
|
||||
).last()
|
||||
serializer = IAmPrincipalLocationSerializer(user_location)
|
||||
return ApiResponse.success(
|
||||
status=status.HTTP_200_OK,
|
||||
|
||||
@@ -26,6 +26,7 @@ class EventForm(forms.ModelForm):
|
||||
"end_date",
|
||||
"from_time",
|
||||
"to_time",
|
||||
"category",
|
||||
"venue",
|
||||
"venue_capacity",
|
||||
"video_url",
|
||||
@@ -63,6 +64,7 @@ class EventForm(forms.ModelForm):
|
||||
# You can customize it further if needed:
|
||||
"event_master": forms.Select(attrs={"class": "form-control"}),
|
||||
"venue": forms.Select(attrs={"class": "form-control"}),
|
||||
"category": forms.Select(attrs={"class": "form-control"}),
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user