내일배움캠프 39일차

김서영·2022년 10월 27일
0

내일배움캠프 TIL

목록 보기
41/85
post-custom-banner

1. 오늘 내가 한 일!

쪽지시험 : 오늘 쪽지시험도 쉽게 제출 성공했다!!✨
장고 심화 강의 : 오늘 3, 4주차를 수강하였다! 아직까지는 어려운점이 없는 것 같다!

2. 장고 심화 강의

- 장고 심화 강의 3주차

https://velog.io/@ksykma/%EC%9E%A5%EA%B3%A0-%EC%8B%AC%ED%99%94-%EA%B0%95%EC%9D%98-3%EC%A3%BC%EC%B0%A8

- 장고 심화 강의 4주차

https://velog.io/@ksykma/%EC%9E%A5%EA%B3%A0-%EC%8B%AC%ED%99%94-%EA%B0%95%EC%9D%98-4%EC%A3%BC%EC%B0%A8

3. 문무해알

- 문제점

- 무엇을 몰랐는지(내가 한 시도)

  • class meta를 사용하는 이유
  • create, update 관련 코드는 post와 put에 대한 것인데 views.py에 작성하지 않고 serializers.py에 작성하는 이유
from rest_framework import serializers
from user.models import User
from rest_framework_simplejwt.serializers import TokenObtainPairSerializer

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = "__all__"
        
    def create(self, validated_data):
        user = super().create(validated_data)
        password = user.password
        user.set_password(password)
        user.save()
        return user
    
    def update(self, validated_data):
        user = super().update(validated_data)
        password = user.password
        user.set_password(password)
        user.save()
        return user

- 해결 방법

- 알게 된 것

  • class meta를 사용하는 이유
    장고 모델을 가져오기 위해서!!
    모델 시리얼라이즈와 클래스 메타는 세트!! 꼭 함께 써야 함!!
  • create, update 관련 코드는 post와 put에 대한 것인데 views.py에 작성하지 않고 serializers.py에 작성하는 이유
    튜터님께 여쭤보니 시리얼 라이즈에서도 작성 가능하니까 한번에 하려고?? 넣으셨다고 하셨다.
    상황에 따라 적용하는 방식이 다르기도 하고 이번수업은 시리얼 라이즈를 배우기 위한 목적이 있었기 때문에 serializers.py에 넣으셨다고 하셨다!!
profile
개발과 지식의 성장을 즐기는 개발자
post-custom-banner

0개의 댓글