카테고리 없음
6월 24일 django Serializer를 사용하는 방법
khw7876
2022. 6. 24. 19:37
- serializer란?
- django의 object, queryset 인스턴스 등 복잡한 테이터들을 json같은 다른 콘텐츠 유형으로 쉽게 변환 할 수 있다.
- django의 rest_framesork의 구문이다.
- create, update 시 validation 기능을 제공한다.
- serializer의 data 인자에는 model로 지정 된 테이블의 field:value를 dictionary로 넘겨준다.
- serializer Meta class
- serializer에서 사용되는 설정 파일이다.
- model에 사용 될 테이블을 적어주고, field에 사용될 필드를 적어준다.
- extra_kwargs, read_only_fields와 같은 옵션을 통해 다양한 설정이 가능하다.
말로만 본다면 이해하기 어려울 것이다.
from rest_framework import serializers
class UserSerializer(serializers.ModelSerializer):
class Meta:
# serializer에 사용될 model, field지정
model = User
# 모든 필드를 사용하고 싶을 경우 fields = "__all__"로 사용
fields = ["username", "password", "fullname", "email"]
매우 기본적인 serializer의 문법이다
- UserSerializer이라는 serializer를 만드는 것이다
- Class Meta: 를 지정을 해주어야 하는데
- 여기서 나오는 model은 내가 만들어 놓은 model중 어떤 모델을 참조하는 가 를 명시한다.
- fields는 이 serializer에서 어떠한 필드들을 사용 할 것인가를 지정하는 것이다.
- (fields에 없는 요소들은 사용이 불가능!!)