•
Serializer를 통해서 특정 모델에 존재하지 않지만, 관계 있는 테이블의 필드 레코드를 반환하는 방법에 대해서 설명하시오
◦
필드에 메소드필드를 선언하고 함수를 만들어 반환할 데이터를 커스텀할 수 있다. 원투원 필드, 역참조 등 다양한 방식으로 데이터를 불러올 수 있으며 가지고 있는 데이터를 마음대로 커스텀 하여 반환값을 조정할 수 있다.
•
Serializer를 통해서 역참조 하는 방법에 대해서 설명하시오
◦
역참조할 모델의 값을 _set으로 필드에 선언하고 이를 다른 시리얼라이저로 반환한다.
▪
필드에 _set 필드를 장고 ORM이 알아서 역참조 값을 찾아 반환해주고 또한 그 값을 선언한 시리얼라이저에 값으로 넣어주면
▪
역참조 값을 바라보는 시리얼라이저는 데이터를 가져와 json형식으로 변환후 반환해준다.
▪
또한 source 값을 통해서 필드에 값을 어떻게 설정할지도 결정할 수 있다.
◦
메소드 필드안에 값을 넣어준다.
▪
메소드 필드 안에 넣는 것도 위와 마찬가지로 필드에 선언하고 넣어줄 수 있다.
▪
또한 메소드 함수를 통해 지금 다루는 모델의 obj값에 직접적으로 _set으로 역참조값에 바로 접근할 수도 있다.
Serializer에서 어떻게 객체를 validate 하게 됩니까?
Serializer에서 is_valid()를 사용하면 기존의 모델과 어긋나는지 체크가능
validate는 유효성 검사