DRF - Serializer



Serializer


Python形式のコードを他のネットワーク環境と通信するには、DRFでコードをシリアル化する必要があります.
担当するコースはSerializerです.DRFが提供するSerializerはqueryset、modelです
複雑なデータ(instanceなど)をPythonデータ型(JSON、XMLなどのコンテンツ型)に変換します.

データのシリアル化


ディスクに格納するか、ネットワーク通信用のフォーマットに変換します.
逆シーケンス化とは、ディスクに格納されたデータを読み出したり、ネットワーク通信で受信したデータをメモリに変換したりすることです.
Serializerは、複雑なデータ(querysetやモデルのインスタンスなど)を簡単に使用できます.
python datatypeに変換します.確認します.

ModelSerializerクラス


ModelSerializerクラスは、Serializerモデルフィールドに対応するフィールドが存在するクラスを自動的に作成します.
# serializers.py
from rest_framework import serializers
from .              import models

class BlogSerializer(serializers.ModelSerializer):
    class Meta:
        model            = models.Post # Post 모델을 사용
        fields           = '__all__'   # 모든 필드 사용
    #   exclue = 'content'             # content 필드는 제외
    #   fields = ('title', 'content')  # title, content만 사용

        read_only_fields = 'title'     # title 필드는 읽기전용