Проблема в том, что вы передаете весь объект запроса анализатору JSON, а не телу, содержащему фактическое содержимое JSON.
Но вам все равно не следует делать это самостоятельно. Пусть DRF сделает это за вас.
from rest_framework.decorators import api_view
from rest_framework.response import Response
@api_view()
def customer_list(request):
"""
List all customers, or create a new customer.
"""
if request.method == 'GET':
snippets = Customer.objects.all()
serializer = CustomerSerializer(snippets, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = CustomerSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=201)
return Response(serializer.errors, status=400)
Или, что еще лучше, используйте представление на основе классов, которое буквально включает в себя все эти функции:
from rest_framework import generics
class CustomerList(generics.ListCreateAPIView):
model = Customer
serializer_class = CustomerSerializer
Это все, что вам нужно.