Performance: Why DRF matters for APIs
This affects API response speed and server load by optimizing serialization and request handling.
Jump into concepts and practice - no test required
from rest_framework.views import APIView from rest_framework.response import Response from myapp.models import Item from myapp.serializers import ItemSerializer class ItemList(APIView): def get(self, request): items = Item.objects.all() serializer = ItemSerializer(items, many=True) return Response(serializer.data)
from django.http import JsonResponse from myapp.models import Item def item_list(request): items = list(Item.objects.all().values()) return JsonResponse({'items': items})
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Manual JSON serialization | N/A (server-side) | N/A | N/A | [X] Bad |
| DRF with serializers and pagination | N/A (server-side) | N/A | N/A | [OK] Good |
from rest_framework import viewsets
from myapp.models import Item
from myapp.serializers import ItemSerializer
class ItemViewSet(viewsets.ModelViewSet):
queryset = Item.objects.all()
serializer_class = ItemSerializer
from rest_framework import serializers
class UserSerializer(serializers.Serializer):
username = serializers.CharField(max_length=100)
email = serializers.EmailField()
def create(self, validated_data):
return User.objects.create(validated_data)