본문 바로가기
Python/REST Framework

[REST] Serializer fields

by 혀나Lee 2016. 10. 11.

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로 설정하면 인스턴스를 생성, 수정시에 사용된다. 














댓글