Performance: ModelSerializer for model-backed APIs
MEDIUM IMPACT
This affects the server response time and payload size, impacting how fast the API delivers data to the frontend.
from rest_framework import serializers from myapp.models import User class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ['id', 'username', 'email']
from rest_framework import serializers class UserSerializer(serializers.Serializer): id = serializers.IntegerField() username = serializers.CharField(max_length=100) email = serializers.EmailField() def to_representation(self, instance): # manually serialize fields return { 'id': instance.id, 'username': instance.username, 'email': instance.email }
| Pattern | Server CPU Usage | Response Size | Serialization Speed | Verdict |
|---|---|---|---|---|
| Manual Serializer | High (extra Python code) | Normal | Slower (custom code overhead) | [X] Bad |
| ModelSerializer | Lower (auto-generated code) | Normal | Faster (optimized) | [OK] Good |