[DRF] DRF Serializer

minhi-!·2023년 1월 6일
0

Django REST Framework

목록 보기
1/3

DRF Serializer

DRF는 Response를 제공하는 API의 형태로 결과물이 나온다. 즉, 템플릿이 아닌 JSON과 같은 형태의 응답을 제공한다는 것인데 그렇다면 템플릿을 대신할 무언가가 필요하게 된다. 기존에는 뷰에서 템플릿으로 데이터를 제공해주었다면 이제 다른 곳이 데이터를 처리하도록 해야 하는데, Serializer가 바로 그 역할을 수행한다.

Serializer = 직렬화

직렬화는 Django 프로젝트에서 내가 만든 모델로부터 뽑은 queryset, 즉 모델 인스턴스를 JSON 타입으로 바꾸는 것이다. 간단히 Django 모델을 JSON으로 변환하기 위한 모양 틀 정도로 생각할 수 있다.


Django에서는,

DRF 내에서 데이터를 저장할 때에는 Django의 모델을 통해 저장한다. 모델은 데이터베이스 테이블을 추상화한 개념이며 Django의 ORM을 통해 파이썬 문법으로 데이터를 처리할 수 있다. 즉, Django에서의 데이터는 JSON과 같은 포맷이 아닌, 파이썬 객체의 형태로 저장된다.


DRF에서는,

API는 이런 데이터를 클라이언트에 보내주는 역할을 한다. 클라이언트가 데이터를 이해할 수 있도록 하기 위해선 기존의 파이썬 데이터를 읽을 수 있는 문자열(JSON 등)으로 변환하여 보내주어야 하고, 이렇게 파이썬 데이터 객체를 문자열로 변환하는 작업직렬화, Serialize라고 한다.

반대로 클라이언트가 DRF 서버에 데이터를 보내는 경우 클라이언트는 JSON 등 문자열 형태로 데이터를 보내게 된다. 이때 DRF 서버는 JSON 등 문자열을 파이썬 데이터 객체로 변환하게 되는데 이를 역직렬화, Deserialize라고 한다.

profile
개발 공부 기록용

0개의 댓글