Сериализатор Django запрашивает значение JSON

используется django 2.0.2 MAC OS 10.13

просмотры.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)

сериализаторы.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.

person Adam    schedule 20.04.2018    source источник


Ответы (1)


Измените эту строку return Response(serializer_class) на return Response(serializer_class.data)

person rtindru    schedule 20.04.2018