Adam
Adam

Reputation: 325

Django serializer request JSON value

used 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 enter image description here

i input this value succese print(json.loads(request.body)) how to use this value at serializer

after

raise this exception

You passed a Serializer instance as data, but probably meant to pass serialized `.data` or `.error`. representation.

Upvotes: 0

Views: 1281

Answers (1)

rtindru
rtindru

Reputation: 5357

Change this line return Response(serializer_class) to return Response(serializer_class.data)

Upvotes: 2

Related Questions