

DRF Serializer
- Serializer만 알면 Django와 DRF의 차이점을 모두 파악한 것이나 다름 없음
- Serializer의 사전적 의미 ⇒ 직렬화
- 직렬화는 Django 프로젝트에서 내가 만든 모델로부터 뽑은 queryset, 모델 인스턴스를 JSON 타입으로 바꾸는 것
- Django 모델은 JSON으로 변환하기 위한 틀로 이해할 것
- DRF 내에서 데이터를 저장할 때에는 DJANGO의 모델을 통해 저장
- 모델은 데이터베이스 테이블을 추상화한 개념
- Django의 ORM(Object Relation-Mapping)을 통해 Python 문법으로 데이터를 처리
- ⇒ Django의 데이터는 JSON같은 포맷이 아닌 파이썬 객체의 형태로 저장
- API는 데이터를 클라이언트에게 보내주는 역할
- 정제 또는 정리 되지않은 데이터를 클라이언트가 받을경우 읽지 못하는 Python 데이터 받게됨
- 다음과 같은 이유로 Python 데이터를 읽을 수 있는 문자열(JSON 등)로 변환해 보내주어야 함
- 결론 : Python 데이터 객체를 문자열로 변환하는 작업을 직렬화, Serialize 라고 함
- 클라이언트가 데이터를 DRF 서버에 보내는 경우
- POST 요청을 보내는 API를 클라이언트가 사용해 데이터를 생성하려는 경우
- 클라이언트는 API 요청에 데이터를 JSON 등 문자열 형태로 입력하여 전송
- DRF 서버 입장에서는 문자열 그대로 서버에 저장 불가
- 모델을 통해 저장하려면 데이터가 파이썬 객체의 형태이어야 함
- Deserialize - 역 직렬화, JSON 등의 문자열을 파이썬 데이터 객체로 변환하는 작업
- POST 요청을 보내는 API를 클라이언트가 사용해 데이터를 생성하려는 경우
