1đź‘Ť
âś…
Problem is inner “serialization” process. Actually it’s implemented using deserialization pattern which doesn’t work of course. It should look something like this:
def post(self, request, *args, **kwargs):
serializer = self.serializer_class(data=request.data)
if serializer.is_valid():
point = Point(float(request.data['latitude']), float(request.data['longitude']))
events = Event.objects.filter(location_point__distance_lte=(point, D(km=int(request.data['distance']))))
if events.exists():
event_serializer = self.get_event_serializer()
ev = event_serializer(events, many=True)
return Response(ev.data, status=status.HTTP_200_OK)
return Response(status=status.HTTP_400_BAD_REQUEST)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
👤jtiai
0đź‘Ť
ev = event_serializer(data=events)
should be
ev = event_serializer(data=events,many=True)
👤levi
- Django – User Model for Dating site – Admin -Staff/Agency+ other users
- Django: Change the error message for validate_ipv46_address
Source:stackexchange.com