TIL(22.11.10) - DRF 회원가입 super().create(validated_data)

이지영·2022년 11월 10일
0

TIL/WIL

목록 보기
60/110

python super() -> 상속의 대상인 부모 클래스를 호출하는 함수

user = super().create(validated_data)
상위 클래스를 호출하는 명령어
super()를 이용해 상위 클래스인 create() 함수를 불러와서 그안에 validate를 넣어줘 모델의 필드들을 읽어와 유효성검사가 된 데이터를 넣어준다.

DRF serializers.py
회원가입 부분 -> 동일한 결과

def create(self, validated_data): 
        email = validated_data['email']
        nickname = validated_data['nickname']
        user= User(
            nickname=nickname,
            email=email
        ) 
        user.set_password(validated_data['password'])   # set_password 해쉬해줌
        user.save()
        return user 
def create(self, validated_data):
        user = super().create(validated_data)
        password = user.password
        user.set_password(password) # 비밀번호 해싱
        user.save()
        return user
profile
🐶🦶📏

0개의 댓글