DRFで一部表示を変えるために、serializerを拡張するのめんどくさいなと思ってたら、
良い方法がドキュメントに書いてあったので、その時の備忘録。
・Advanced serializer usage | Overriding serialization and deserialization behavior
こんな感じでSerializerを拡張
ドキュメントの例。usernameをlowercaseにしてる。
from rest_framework import serializers, viewsets from .models import User class UserSerializer(serializers.ModelSerializer): class Meta: model = User def to_representation(self, instance): """Convert `username` to lowercase.""" ret = super().to_representation(instance) ret['username'] = ret['username'].lower() return ret
以上!