Значение JSON для сериализатора запроса Django
Используется django 2.0.2 MAC OS 10.13
views.py
from rest_framework import viewsets
from .serializers import RegisterSerializer
from rest_framework.response import Response
import json
class RegisterViewSet(viewsets.ModelViewSet):
queryset = ''
serializer_class = RegisterSerializer
def create(self,request, *args, **kwargs):
print(json.loads(request.body))
serializer_class = RegisterSerializer(json.loads(request.body))
return Response(serializer_class)
serializers.py
from rest_framework import serializers
from .models import register
import uuid
class RegisterSerializer(serializers.Serializer):
UserEmail = serializers.EmailField(allow_blank=True,default=uuid.uuid4())
UserPassword = serializers.CharField(allow_blank=True,default=uuid.uuid4())
UserSex = serializers.IntegerField(default=0)
UserAge = serializers.IntegerField(default=0)
DeviceId = serializers.CharField(allow_blank=True,default=uuid.uuid4())
PushKey = serializers.CharField(allow_blank=True,default=uuid.uuid4())
OS = serializers.IntegerField(default=0)
OSVersion = serializers.CharField(allow_blank=True,default=0)
def create(self,validated_date):
return True
api test.html введите описание изображения здесь
я ввожу это значение успешно print(json.loads(request.body))
как использовать это значение в сериализаторе
после
поднять это исключение
You passed a Serializer instance as data, but probably meant to pass serialized `.data` or `.error`. representation.
1 ответ
Решение
Изменить эту строкуreturn Response(serializer_class)
в return Response(serializer_class.data)