카테고리 없음

6월 24일 django Serializer를 사용하는 방법

khw7876 2022. 6. 24. 19:37
  • serializer란?
    • django의 object, queryset 인스턴스 등 복잡한 테이터들을 json같은 다른 콘텐츠 유형으로 쉽게 변환 할 수 있다.
    • django의 rest_framesork의 구문이다.
    • create, update 시 validation 기능을 제공한다.
    • serializer의 data 인자에는 model로 지정 된 테이블의 field:value를 dictionary로 넘겨준다.
  • serializer Meta class
    • serializer에서 사용되는 설정 파일이다.
    • model에 사용 될 테이블을 적어주고, field에 사용될 필드를 적어준다.
    • extra_kwargs, read_only_fields와 같은 옵션을 통해 다양한 설정이 가능하다.

말로만 본다면 이해하기 어려울 것이다.

from rest_framework import serializers

class UserSerializer(serializers.ModelSerializer):
   class Meta:
        # serializer에 사용될 model, field지정
        model = User
        # 모든 필드를 사용하고 싶을 경우 fields = "__all__"로 사용
        fields = ["username", "password", "fullname", "email"]


매우 기본적인 serializer의 문법이다

  • UserSerializer이라는 serializer를 만드는 것이다
  • Class Meta: 를 지정을 해주어야 하는데
  • 여기서 나오는 model은 내가 만들어 놓은 model중 어떤 모델을 참조하는 가 를 명시한다.
  • fields는 이 serializer에서 어떠한 필드들을 사용 할 것인가를 지정하는 것이다.
  • (fields에 없는 요소들은 사용이 불가능!!)

serializer를 사용하면, 데이터들을 보내주는것이 간략하게 사용하기 좋아진다.