티스토리 뷰

Serializer 가 무엇이었는지 떠올려보자. 기억이 희미하지만 분명히 배웠다.

시리얼라이저는 쿼리셋, 모델 인스턴스(객체) 를 Json 이나 XML 유형으로 쉽게 변환할 수 있는 Python 데이터타입으로 만들어준다. 그리고 이렇게 변환된 타입은 추후 Json 형태로 파싱한다.

 

시리얼라이저 사용 전을 떠올려보자. (물론 기억이 없다.)

리퀘스트가 들어오면 객체의 오브젝트를 모두 찾아서 한땀한땀 json 형태로 만든 다음에 그것을

JsonResponse 로 변환했었다.

 

시리얼라이저를 사용한 후에는

객체의 오브젝트를 모두 찾은 다음에, 시리얼라이징 하고 

HttpReponse 로 리턴했었다. 여기서 우리는 시리얼라이저를 만든 적이 없으며 라이브러리에서 받아서 사용했다.

 

마지막으로 api 요청이 들어왔을 때이다.

여기서는 따로 시리얼라이저를 만들어 뒀었다.

모델시리얼라이저의 상속을 받는 아티클시리얼라이저를 만들고 그 안에 모델을 등록해뒀었다.

필드도 내가 지정할 수 있었다.

이 시리얼라이저를 통해 변환된 데이터를 리턴했었다.

 

Django Rest Framewok(DRF) 를 어떻게 썼는지 다시 정리해보자.

ArticleSerializer 라는 클래스를 생성했을 때, 부모인 ModelSerializer로부터 상속을 받았었다.

ModelSerializer는 (우리가 지정한) Article 모델에 맞추어 자동으로 필드를 생성해 serializer 해준 것이다.

 

댓글