반응형
[DRF] Serializers - 객체 직렬화 하기
원문 의 내용 중 해석이 애매한 부분은 그대로 표기하였고, 복잡한 문장은 의역하여서 정리하였습니다
우리는 comment를 직렬화하는데 CommentSerializer를 사용할 수 있다.
xxxxxxxxxx
serializer = CommentSerializer(comment)
serializer.data
# {'email': 'leila@example.com', 'content': 'foo bar', 'created': '2016-01-27T15:17:10.375877'}
이 부분에서 우리는 모델 인스턴스를 파이썬 네이티브 데이터타입으로 변환해왔다. 직렬화 프로세스를 마치기 위해서 우리는 이 데이터를 json
으로 렌더한다
x
from rest_framework.renderers import JSONRenderer
json = JSONRenderer().render(serializer.data)
json
# b'{"email":"leila@example.com","content":"foo bar","created":"2016-01-27T15:17:10.375877"}'
내 마음대로 해설
위 예제에서는 JSONRenderer를 이용하여서, 최종적으로 json으로 직렬화하는 과정을 보여준다.
JSONRenderer()의 render 메소드를 이용하면, 위와 같이 bytestring으로 최종적으로 리턴된다.
xxxxxxxxxx
def render(self, data, accepted_media_type=None, renderer_context=None):
"""
Render `data` into JSON, returning a bytestring.
"""
...
결론
- 최종적으로 Json으로 직렬화 할 때, JSONRenderer()를 이용해서 렌더링 가능하고 이 결과 값은 bytestring 형태로 리턴한다.
반응형
'개발 > 장고' 카테고리의 다른 글
[해설과 함께 읽는 Django 문서] Models - 일대일 관계 (0) | 2021.01.31 |
---|---|
[DRF] Serializers - 객체 역직렬화 하기 (0) | 2021.01.31 |
[DRF] Serializers - Serializers 클래스 선언하기 (0) | 2021.01.31 |
[DRF] Serializers - 개요 (0) | 2021.01.31 |
[해설과 함께 읽는 Django 문서] Models - 다대다 관계에서의 추가 필드 (0) | 2021.01.30 |