DRF에서 ModelSerializer란?


DRF ModelSerializer documentation 정리


💡 ModelSerializer

종종 Django 모델 정의에 밀접하게 매핑되는 serializer 클래스가 필요하다.

ModelSerializer 클래스는 모델 필드에 해당하는 필드가 있는 Serializer 클래스를

자동으로 만들 수 있는 shortcut을 제공한다.

ModelSerializer 클래스는 일반 Serializer와 같지만 몇 가지 차이점이 있다.


  • 모델을 기반으로 필드를 자동적으로 정의한다.

  • unique_together validator와 같은 serializer를 자동을 생성한다.

  • 여기에는 .create() 및 .update()의 간단한 기본 구현이 포함된다.


class AccountSerializer(serializers.ModelSerializer):
    class Meta:
        model = Account


        #-- 필드 설정 관련 --#
        # 1. 특정 필드 설정
        fields = ['id', 'account_name', 'users', 'created']

        # 2. 모든 필드 설정
        fields = '__all__'

        # 3. 특정 필드 제외
        exclude = ['users']

        #-- read only 설정 --#
        read_only_fields = ['account_name']