def person_list(request): """ List all persons, or create a new person. """ if request.method == 'GET': persons = Person.objects.all() serializer = PersonSerializer(persons, many=True) return JSONResponse(serializer.data) elif request.method == 'POST': data = JSONParser().parse(request) serializer = PersonSerializer(data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data, status=201) return JSONResponse(serializer.errors, status=400)
def person_detail(request, pk): """ Retrieve, update or delete a person. """ try: person = Person.objects.get(pk=pk) except Person.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = PersonSerializer(person) return JSONResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = PersonSerializer(person, data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data) return JSONResponse(serializer.errors, status=400) elif request.method == 'DELETE': person.delete() return HttpResponse(status=204)
from core.models import Person from core.serializers import PersonSerializer from rest_framework.renderers import JSONRenderer from rest_framework.parsers import JSONParser person = Person(first_name='Paul', last_name='Van Dyke', email='*****@*****.**') person.save() person = Person(first_name='Regis', last_name='Santos', email='*****@*****.**') person.save() serializer = PersonSerializer(person) serializer.data content = JSONRenderer().render(serializer.data) content
from core.models import Person from core.serializers import PersonSerializer from rest_framework.renderers import JSONRenderer from rest_framework.parsers import JSONParser from django.utils.six import BytesIO person = Person.objects.get(pk=1) serializer = PersonSerializer(person) content = JSONRenderer().render(serializer.data) stream = BytesIO(content) data = JSONParser().parse(stream) serializer = PersonSerializer(data=data) # passando a instancia 'person' ele chama o método update # PersonSerializer(person, data=data) serializer.is_valid() serializer.validated_data serializer = PersonSerializer() print(repr(serializer))