Serializer
serializer는 querysets과 model instances와 같은 복잡한 데이터를 JSON, XML, 또는 다른 타입으로 Python 데이터 타입이 쉽게 rendering될 수 있게 한다. 또한, serislizers는 deserializer(데이터를 복잡한 타입으로 다시 파싱하는 것)와 들어온 데이터를 validation 체크를 한다.
REST framework의 serializer는 Django의 Form 과 ModelForm과 유사하다고 한다. Serializer는 가장 기본적인 방식으로 응답 결과를 컨트롤하고 ModelSerializer는 model instances와 querysets을 다루는데 이용된다.
serializer의 사용법 및 종류에는 여러가지가 있으므로 Django REST framework Serializers를 참고바란다.
Serializer fields
Serializer fields는 값과 데이터타입간의 컨버팅을 다루며 input values의 validating 처리를 한다.
serializer fields는 fields.py에 정의되어 있지만 convention에 따르면 from rest_framework import serializers 를 선언한 후, serizliers.<FieldsName>으로 사용해야 한다.
Core arguments
read_only
Read-only fields 는 API 결과에 포함되지만 등록(create), 수정(update) 시에 요청 파라미터에는 포함되지 않는다. 기본값은 False이며, 요청 파라미터에 포함시키지 않으려면 read_only=True로 설정하면 된다.
write_only
기본값은 False이며, write_only=True로 설정하면 인스턴스를 생성, 수정시에 사용된다.
'Python > REST Framework' 카테고리의 다른 글
[Django-REST] Exception Handler (0) | 2016.10.19 |
---|---|
[REST] Nested relationships (0) | 2016.10.11 |
[REST Framework] extra()를 사용한 AS serializer 필드 등록 (0) | 2016.10.10 |
댓글