์ง๋๋ฒ์ createsuperuser ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด์ ๊ด๋ฆฌ์๋ฅผ ๋ง๋ค์์๋๋ฐ
orm ๋ชจ๋ธ์ ๋ง๋ค์ง ์์๋๋ฐ๋ ๊ฐ๋ฅํ๋ ์ด์ ๋ ์ฅ๊ณ ์์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ user๋ชจ๋ธ๊ณผ ๋ก๊ทธ์ธ/๋ก๊ทธ์์ ๊ธฐ๋ฅ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค!
๋ก๊ทธ์ธ์ด ์ด๋ฃจ์ด์ง๋ ๋ฐฉ๋ฒ์ ์๊ธฐ ์ํด์ ์ฌ์ฉ์ ๋ชจ๋ธ๋ถํฐ ๋ก๊ทธ์ธ๊น์ง ๊ตฌํ ํ์๋๋ฐ ์ด ๊ณผ์ ๋ค์ด Django์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์์ฒญ ํธํ๊ฒ ์ง... ํจ ๋ณด์!!!
๋ฐ์ดํฐ๋ฒ ์ด์ค์ db.sqlite3์ ๋ณด๋ฉด django์์ ์ ๊ณตํ๋ auth_user๊ฐ ๋ ๋ง์ ํ ์ด๋ธ์ด ์๋ค!
ํ์ง๋ง my_user์ bio ์ ์ฅํ๋ ๊ณณ์ ์๋ค. ๊ทธ๋ฌ๋๊น ๋์ด ๊ฐ์ด ์ฌ์ฉํ๋ฉด ์ข๊ฒ ๋ค!
์์ ๊ฐ๋ณ๊ฒ ํ์ธํ๊ธฐ
User ๋ชจ๋ธ ์ ๊ทธ๋ ์ด๋ ํ๊ธฐ
1. user ์ฑ์ models.py ์์ ํ๊ธฐ
user์ฑ์ models.py๋ฅผ ๋ณด๋ฉด models.Model์ ์์๋ฐ์๊ฑธ ํ์ธํ ์ ์๋ค!
# Create your models here.
class UserModel(models.Model):
class Meta:
db_table = "my_user"
username = models.CharField(max_length=20, null=False)
password = models.CharField(max_length=256, null=False)
bio = models.CharField(max_length=256, default='')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
์ ๋ถ๋ถ์์ ์ฌ์ค bio ๋ง๊ณ username, password, created_at, updated_at์ django์์ ์ ๊ณตํ๊ณ ์๋ค.
๊ทธ๋์ bio ๋ง๊ณ ๋ ๋ค ๋ฐ์์ค๊ณ ์ง์์ฃผ์!
(์๋ฒ ์ค์ง(ctrl+c)๋ฅผ ํด์ฃผ๊ณ ์์ ํด์ฃผ์!)
์๋์ฒ๋ผ AbstractUser์ ๋ฐ์์ฌ๊ฑด๋ฐ ์ฅ๊ณ ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ์ ์ ๋ชจ๋ธ์ ๋ฐ์์ค๊ฒ ๋ค๋ ๊ฒ์ด๋ค!
from django.contrib.auth.models import AbstractUser
์๋ UserModel์ models.Model์ ์์๋ฐ๊ณ ์์๋๋ฐ ์ด์ Abstractuser์ ์ฌ์ฉํด์ผ๋๋๊น ์ฝ๋ ์์ ํด์ฃผ์
class UserModel(AbstractUser):
๋๋จธ์ง username, password, created_at, updated_at์ ์ง์์ฃผ์! Abstractuser ์์ ์ ๊ณตํด์ฃผ๋๊น!
#user/models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.
class UserModel(AbstractUser):
class Meta:
db_table = "my_user"
bio = models.CharField(max_length=256, default='')
UserModel์ ์ฅ๊ณ ์ ๊ธฐ๋ณธ์ ์ธ ๋ชจ๋ธ์ ์ฌ์ฉํ๊ณ bio๋ฅผ ์ถ๊ฐํด์คฌ๋ค
์ด๊ฑธ djangoํํ ์๋ ค์ค์ผํ๋ค.
2. ์ฅ๊ณ ์๊ฒ ์๋ ค์ฃผ๊ธฐ
makemigrations ์ migrate๋ก ์ ์ฉ์ํค๊ธฐ ์ ์ ํ๊ฐ์ง ๋จผ์ ํด์ผ๋ ๊ฒ์ด ์๋ค.
mySpartaSns์ settings.py์์ ๋งจ ๋ฐ์
# mySpartaSns/settings.py
AUTH_USER_MODEL = 'user.UserModel'
์ด๊ฑธ ์ถ๊ฐํด์ฃผ์!
์ด๊ฒ ๋ญ๋๋ฉด ๊ธฐ๋ณธ์ ์ธ ์ฅ๊ณ ์ ์ฌ์ฉ์ ๋ชจ๋ธ์ ๋ฐ๊พธ๊ฒ ๋ค๋ ์๊ธฐ๋ค!
AUTH_USER_MODEL์ user.UserModel ํด๋์ค๋ฅผ ๋ฃ์ด์ค๊ฑฐ๋ค ํ๋๊ฒ!
์ฅ๊ณ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ์ ์ธ์ฆ๋ชจ๋ธ์ ์ฌ์ฉํ๊ณ ์๋๋ฐ
๊ทธ๊ฑฐ์ bio๋ฅผ ์ถ๊ฐํ๊ธฐ๋๋ฌธ์ ๊ธฐ๋ณธ ๋ชจ๋ธ์ ์ถ๊ฐ ํ๋ค๊ณ ์๋ ค์ฃผ๋ ๊ฒ์ด๋ค!
User ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฉ์ํค๊ธฐ
makemigrations ์ migrate๋ก ์ ์ฉ์์ผ์ฃผ์!
python manage.py makemigrations #์์ ๋๊ฑฐ ์๋ ค์ฃผ๊ณ
python manage.py migrate # ์ ์ฉ!
ํ ์ค์ฉ ์ ๋ ฅํ์!
๊ทธ๋ฌ๊ณ ๋๋ฉด
์๋ my_user์ ์๋ ๊ฒ๋ค์ด ๋ค์ด๊ฐ์๋ค! ์ฅ๊ณ ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋๊ฒ๋ค์ด!
'๐๐ช > Django' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
3์ฃผ์ฐจ_3๋ฒ์งธ_๋ก๊ทธ์ธ ์ดํ ๊ธฐ๋ฅ ๋ค๋ฌ๊ธฐ (0) | 2022.09.23 |
---|---|
3์ฃผ์ฐจ_2๋ฒ์งธ_ํ์๊ฐ์ , ๋ก๊ทธ์ธ ์์ ํ๊ธฐ (0) | 2022.09.23 |
2์ฃผ์ฐจ_5๋ฒ์งธ_๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ (1) | 2022.09.23 |
2์ฃผ์ฐจ_4๋ฒ์งธ_ํ์๊ฐ์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ (0) | 2022.09.23 |
2์ฃผ์ฐจ_3๋ฒ์งธ_ํ์๊ฐ์ , ๋ก๊ทธ์ธ ํ๋ฉด ๋์ฐ๊ธฐ (1) | 2022.09.22 |
๋๊ธ