반응형
이번에는 모델을 확장해보겠습니다.
지금 사용하고 있는 User모델은 username, email, password 필드를 사용하고 있습니다.
이 필드들은 장고 기본 유저 모델 내에 있는 필드입니다.
게시판 프로젝트를 진행하면서 사용할 모델에는 위 필드 말고도 사용할 필드들이 있습니다.
추가할 필드
-nickname(CharField)
-position(CharField)
-subjects(CharField)
-image(ImageField)
닉네임, 직종, 관심사, 프로필 이미지를 사용할 예정입니다.
이렇게 기본 유저 모델만으로 만족이 안될 때 모델을 확장합니다.
모델 확장 방법은 4가지가 있습니다.
-Proxy Model
기본 User모델을 그대로 상속받아 기능을 추가, 동작 변경
가장 간단하지만 스키마 변경을 하지 않기 때문에 필요한 필드 추가를 할 수 없습니다.
-1:1 Model
기본 User모델에 일대일로 연결되는 새로운 모델을 만드는 것
데이터베이스의 일대일 관계와 비슷한 개념
User모델 직접 건드리지 않으면서 필드 추가 가능
-AbstractBaseUser
가장 정석적인 방법
유저 모델을 추상화시킨 AbstractBaseUser 모델을 상속받아와 아예 새로운 유저모델을 만드는 방식
유저모델의 간소화 버전
기본 요소만 있는 버전이기 때문에 우리가 직접 일일이 구현해야합니다.
-AbstractUser
기본 유저 모델을 그대로 가져와 필요한 내용만 수정하거나 추가하는 방식
새로운 유저 모델을 만드는 것이기 때문에 프로젝트 초기에 적용
반응형
'DJANGO > Django REST' 카테고리의 다른 글
[Django REST]#3-1 게시글 기능 구현(모델 구현, 참조 에러) (0) | 2023.06.16 |
---|---|
[Django REST]#2-5 회원 기능 구현(모델 확장) (0) | 2023.06.11 |
[Django REST]#2-3 회원 기능 구현(로그인 기능) (0) | 2023.06.10 |
[Django REST]#2-2 회원 기능 구현(회원가입 기능) (0) | 2023.06.10 |
[Django REST]#2-1 회원 기능 구현 (0) | 2023.06.10 |