/ / Serializer validated_data е празен дори когато is_valid е True - python, django, django-rest-framework

Serializer validated_data е празен дори когато is_valid е True - python, django, django-rest-framework

Следващият код връща празен 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, както предполага този отговор.

Невъзможно е да се получи поле, което не е модел, в validated_data на сериализатор на Django Rest Framework