본문 바로가기
개발 공부/Django

Serializer

by 느림보어른 2021. 6. 22.

서문

DRF를 사용하면서 써본 Serializer에 대해 간단히 정리한 글이다.

Serializer 사전적 의미

사전 상에는 serializer를 명사 IT <데이터통신>직렬 변환기로 정의한다. 즉, 컴퓨터 용어이기에 좀 더 많은 정보가 필요하다. 아래의 wiki에서 Serialization에 대한 정의를 보자

Serialization in wiki

직렬화(直列化) 또는 시리얼라이제이션(serialization)은 컴퓨터 과학의 데이터 스토리지 문맥에서 데이터 구조나 오브젝트 상태를 동일하거나 다른 컴퓨터 환경에 저장(이를테면 파일이나 메모리 버퍼에서, 또는 네트워크 연결 링크 간 전송)하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정이다

DRF에서 Serializers의 정의

Serializers를 사용하면 querysets 및 모델 객체와 같은 복잡한 데이터를 Python 데이터 유형으로 변환하여 JSON, XML 또는 기타 컨텐츠 유형으로 쉽게 렌더링할 수 있습니다. Serializers는 먼저 들어오는 데이터를 검증한 후 구문 분석된 데이터를 복합 유형으로 다시 변환할 수 있도록 역직렬화 기능도 제공합니다.

Serializers는 왜 필요한가?

일반적인 api에서는 서로 데이터를 주고받는다. 이때 가장 많이 쓰이는 형식이 JSON, XML이다. 하지만 Django에서 정의한 datatable은 JSON, XML 형식이 아니다. 따라서 django와 api로 통신하기 위해서는 데이터형 변환을 처리하기 위한 Serializer가 필요하다.

 

DRF의 serializers에 대해 더 궁금한 점은 아래의 공식문서를 참고하자.

출처

https://en.wikipedia.org/wiki/Serialization

 

Serialization - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Conversion process for computer data In computing, serialization (US spelling) or serialisation (UK spelling) is the process of translating a data structure or object state into a form

en.wikipedia.org

https://www.django-rest-framework.org/api-guide/serializers/

 

Serializers - Django REST framework

 

www.django-rest-framework.org