Следващият код връща празен json.
def create_account(request):
serializer = UserSerializer(data={"name": request.GET.get("name"), "surname": request.GET.get("surname"),
"password": request.GET.get("password"), "email": request.GET.get("email")})
if not serializer.is_valid():
return HttpResponse(status=401,content=serializer.errors)
serializer.save()
return Response(serializer.data)
И това е моят сериализатор
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ("name", "surname", "password", "email")
def create(self, validated_data):
return User.objects.create(**validated_data)
Когато изпратя заявка, serializer.initial_data
се попълва правилно. is_valid
се връща True
но validated_data
празно е.
Отговори:
2 за отговор № 1Не изглежда да използвате потребителски потребителМоделът и django.contrib.auth.models.User не притежават полетата за име и фамилия. Той обаче има first_name и last_name. Опитайте да използвате тези полета във вашия сериализатор, тъй като те са полета за модел. замени to_internal_value, както предполага този отговор.