Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코테 연습
- 데브코스
- django
- Kafka
- Selenium
- 팀 프로젝트
- GCP
- beuatifulsoup
- sql챌린지
- cloud platform
- 코딩 테스트
- 코딩테스트
- airflow
- HTML
- PCCP
- Spark
- AWS
- superset
- 데이터 엔지니어
- VPC
- Til
- solvesql
- Snowflake
- 데이터 시각화
- SQL
- Tableau
- sqlsolve
- 슈퍼셋
Archives
- Today
- Total
주니어 데이터 엔지니어 우솨's 개발일지
시리얼라이저(Serializer)와 에러(Error) 본문
Serialize
모델 인스턴스나 queryset과 같은 데이터를 JSON 형식의 파일로 변환하는 작업
Deserialize
JSON형식의 데이터를 정의된 포맷에 맞추어 다시 모델 인스턴스로 변환하는 작업
from rest_framework import serializers
from polls.models import Question
class QuestionSerializer(serializers.Serializer) :
id = serializers.IntegerField(read_only=True)
question_text = serializers.CharField(max_length=200)
pub_date = serializers.DateTimeField(read_only=True)
def create(self, validated_data) :
return Question.objects.create(**validated_data)
def Update(self, instance, validated_data) :
instance.question_text = validated_data.get('question_text', instance.question_text) +'[시리얼라이저에서 업데이트]'
instance.save()
return instance
ModelSerializer
기본적으로 create()와 update() 메서드가 구현되어 있어, 추가로 코드를 작성해주지 않아도 그 기능을 사용할 수 있다.
위의 코드보다 훨씬 간편해짐
from rest_framework import serializers
from polls.models import Question
class QuestionSerializer(serializers.ModelSerializer) :
class Meta :
model = Question
fields = ['id', 'question_text', 'pub_date']
http메소드
참고 https://developer.mozilla.org/ko/docs/Web/HTTP/Methods
데이터 생성(Create) : POST
데이터 조회(Read) : GET
데이터 업데이트(Update) : PUT
데이터 삭제(Delete) : DELETE
HTTP Status Code
200번대 : 정상적인 결과
- 200 OK
- 201 CREATED
- 204 NOT FOUND
400번대 : 사용자의 잘못된 요청
- 400 BAD REQUEST
- 404 NOT FOUND
500번대 : 서버 내부의 오류
mixin,generics 라이브러리를 통해 같은 기능을 하는 코드를 훨씬 더 코드를 간결하게 만들 수 있다.
'Django' 카테고리의 다른 글
Django 기본 (0) | 2024.04.28 |
---|---|
테스트 기능(Test) (0) | 2024.04.28 |
유저(User)와 기능(투표, 질문) (0) | 2024.04.28 |
뷰(View)와 템플릿(template) (1) | 2024.04.28 |