티스토리 뷰
오늘의 리서치
Serializers
Serializers 는 쿼리셋과 모델인스턴스와 같이 복잡한 데이터를 native Python 데이터형으로 변환할 수 있게 하며 이는 JSON, XML 혹은 다른 종류의 컨텐츠 타입으로 쉽게 렌더링 될 수 있다. Serializers 는 deserialization을 제공하는데 이는 분석된 데이터를 최초 검증(validation)하고 나서 다시 복잡한 데이터셋으로 변환할 수 있다.
Validation
데이터를 deserializing 할때 항상 is_valid()를 호출해야 된다. 검증된 데이터에 접근을 시도하기 전에 혹은 오브젝트 인스턴스를 저장하기 전에. 어떤 종류의 validation 에러가 발생하면, .error 프로퍼티가 에러 메시지 결과를 대표하는 dictionary를 포함하고 있다.
Validation 할때 input data를 Serializer의 fields를 통해 검증한다.
다른 값이 필요하면 따로 넣어줘야 한다.
EX)
serializers.py 중
class ArticleCreateSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields = ("title", "image", "content")
views.py 중
def post(self, request):
print(request.user)
print(request.data)
serializer = ArticleCreateSerializer(data=request.data)
if serializer.is_valid(): #fields 안에 값들을 확인해서 valid
serializer.save(user=request.user)
return Response(serializer.data, status=status.HTTP_200_OK)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
참조 :
Django REST framework - Serializers
stackoverflow - Django serializers: What does is_valid actually do?
수학과의 좌충우돌 프로그래밍 - [Django] Serializer 를 통한 유효성 검사 및 저장
오늘 한 일
1. 장고 심화 강의(django rest framework) 공부
'What I Learned' 카테고리의 다른 글
TIL_20221028_장고 Serializers 검증 (0) | 2022.10.30 |
---|---|
WIL_221024to221028_내일배움캠프9주차 (0) | 2022.10.30 |
TIL_20221026_토큰, JWT (0) | 2022.10.26 |
TIL_20221025_HTTP, 세션 (0) | 2022.10.26 |
TIL_20221024_REST API (0) | 2022.10.25 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- GIT
- 코드컨벤션
- 항해플러스ai
- 반복문
- 파이썬 함수 return
- dtl
- 컴퓨터구조
- 자료구조
- Til
- 장고
- 항해솔직후기
- API
- 스파르타코딩클럽
- 항해플러스후기
- github
- css
- HTTP
- 함수
- 파이썬
- 클래스
- css선택자
- 예외처리
- 파이썬나누기
- HTML
- wil
- 스파르타내일배움캠프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함