PROJECTS

Django | ORM ํ™œ์šฉ | ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉ | Admin์— ๋ชจ๋ธ ๋„ฃ์–ด์ฃผ๊ธฐ

nicesugi 2022. 5. 27. 19:45

 

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Github

https://github.com/nicesugi/DjangoClass/tree/main/django/sns


์ด์ „ ํฌ์ŠคํŒ…์„ ๋ณด๋ฉด, user์•ฑ๊ณผ tweet์•ฑ์„ ๋งŒ๋“ค๊ณ  ์žฅ๊ณ ์—๊ฒŒ ์•Œ๋ ค์ฃผ๊ณ  settings.py ์— ์ ์šฉ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๊ฐ ์•ฑ์— ๋“ค์–ด๊ฐ€ model์„ ์ƒ์„ฑํ•˜๊ณ  ์žฅ๊ณ ์—๊ฒŒ ์•Œ๋ ค์ฃผ๊ณ  ์ ์šฉํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์„ ํ™•์ธํ•ด๋ณด๊ณ  admin๋„ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


๐ŸŒฑ User ์•ฑ (mySpartaSns>user)

1. ํƒ์ƒ‰๊ธฐ mySpartaSns > user > models.py

๋ชจ๋ธ์— ์ถ”๊ฐ€ํ•  ์ฝ”๋“œ๋ฅผ ์ ์–ด์ค๋‹ˆ๋‹ค.

์ขŒ-models.py๊ธฐ๋ณธ / ์šฐ-models.py ์ฝ”๋“œ ์ถ”๊ฐ€

 

2. ํ„ฐ๋ฏธ๋„

๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์•Œ๋ ค์ฃผ๊ณ  ์ ์šฉ์‹œ์ผœ์ค๋‹ˆ๋‹ค.

Applying user.0001_initial... OK > ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

python manage.py makemigrations
python manage.py migrate

๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์•Œ๋ ค์ฃผ๊ณ  ์ ์šฉ์‹œ์ผœ์คŒ

 

3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™•์ธ

์ ์šฉ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ SQLite์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

VSC ์‚ฌ์šฉ์ž๋Š” ํƒ์ƒ‰๊ธฐ ํ•˜๋‹จ์—์„œ SQLite ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SVC ์—์„œ SQLite๋Š” ํƒ์ƒ‰๊ธฐ ํ•˜๋‹จ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

4. Django-Admin์— ๋„ฃ์–ด์ฃผ๊ธฐ

ํƒ์ƒ‰๊ธฐ mySpartaSns > user > admin.py

์ถ”๊ฐ€๋œ ์ฝ”๋“œ 2๋ฒˆ : ํ˜„์žฌ์œ„์น˜(admin.py๊ฐ€ ์žˆ๋Š” user)์™€ ๋™์ผํ•˜๊ฒŒ ์žˆ๋Š” models.py ์ค‘ UserModel์„ ๋ถˆ๋Ÿฌ์˜ค๊ฒ ๋‹ค๋Š” ๋œป

์ถ”๊ฐ€๋œ ์ฝ”๋“œ 5๋ฒˆ : ๊ฐ€์ ธ์˜จ UserModel์„ ๊ด€๋ฆฌ์ž ๊ณ„์ •์— ๋„ฃ์Œ

์ขŒ-admin.py๊ธฐ๋ณธ / ์šฐ-admin.py ์ฝ”๋“œ ์ถ”๊ฐ€

 

5. http://127.0.0.1:8000/admin 

user์•ฑ์˜ ๋ชจ๋ธ์ด ์ƒ์„ฑ๋œ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฅ๊ณ  ์„œ๋ฒ„๋ฅผ ์‹คํ–‰์‹œ์ผœ์ฃผ๊ณ  http://127.0.0.1:8000/admin ๋กœ๊ทธ์ธ์„ ํ•ด์ฃผ์„ธ์š”.

user model ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉ๋˜์–ด admin์—์„œ๋„ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

mySpartaSns > user ์•ฑ > models.py ์ ์šฉ > ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ์šฉ > Admin ์ ์šฉ >

โญ๏ธ์™„๋ฃŒโญ๏ธ


๐ŸŒฑ tweet ์•ฑ (mySpartaSns>tweet)

1. ํƒ์ƒ‰๊ธฐ mySpartaSns > tweet > models.py

๋ชจ๋ธ์— ์ถ”๊ฐ€ํ•  ์ฝ”๋“œ๋ฅผ ์ ์–ด์ค๋‹ˆ๋‹ค.

# ์ฝ”๋“œ 3 : user์•ฑ์— ์žˆ๋Š” models ์‚ฌ์šฉํ• ๊ฑด๋ฐ, ๊ทธ ๋ชจ๋ธ ์ค‘์— ์ด๋ฆ„์ด UserModel์ธ๊ฑธ ๊ฐ€์ ธ์˜ฌ๊ฑฐ๋ผ๋Š” ๋œป
# ์ฝ”๋“œ 11 : ForeignKey : ์™ธ๋ถ€ ๋ชจ๋ธ์„ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ๋กœ, 
author๋Š” ์ƒˆ๋กœ์šด ์‚ฌ๋žŒ์ด ์•„๋‹ˆ๋ผ,
์•„๊นŒ ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ๋˜ User Model์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑ ํ•œ ๊ธ€! ์ด๊ธฐ ๋•Œ๋ฌธ์—
ForeignKey๋ฅผ ์‚ฌ์šฉํ•ด์„œ    ๋„ฃ์–ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

tweet > models.py

 

2. ํ„ฐ๋ฏธ๋„

๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์•Œ๋ ค์ฃผ๊ณ  ์ ์šฉ์‹œ์ผœ์ค๋‹ˆ๋‹ค.

Applying tweet.0001_initial... OK > ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

python manage.py makemigrations
python manage.py migrate

๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์•Œ๋ ค์ฃผ๊ณ  ์ ์šฉ์‹œ์ผœ์คŒ

 

3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™•์ธ

์ ์šฉ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ SQLite์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

VSC ์‚ฌ์šฉ์ž๋Š” ํƒ์ƒ‰๊ธฐ ํ•˜๋‹จ์—์„œ SQLite ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

SVC ์—์„œ SQLite๋Š” ํƒ์ƒ‰๊ธฐ ํ•˜๋‹จ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. Django-Admin์— ๋„ฃ์–ด์ฃผ๊ธฐ

ํƒ์ƒ‰๊ธฐ mySpartaSns > tweet > admin.py

์ถ”๊ฐ€๋œ ์ฝ”๋“œ 2๋ฒˆ : ํ˜„์žฌ์œ„์น˜(admin.py๊ฐ€ ์žˆ๋Š” tweet)์™€ ๋™์ผํ•˜๊ฒŒ ์žˆ๋Š” models.py ์ค‘ TweetModel์„ ๋ถˆ๋Ÿฌ์˜ค๊ฒ ๋‹ค๋Š” ๋œป

์ถ”๊ฐ€๋œ ์ฝ”๋“œ 5๋ฒˆ : ๊ฐ€์ ธ์˜จ TweetModel์„ ๊ด€๋ฆฌ์ž ๊ณ„์ •์— ๋„ฃ์Œ

์ขŒ-models.py๊ธฐ๋ณธ / ์šฐ-models.py ์ฝ”๋“œ ์ถ”๊ฐ€

 

5. http://127.0.0.1:8000/admin 

tweet์•ฑ์˜ ๋ชจ๋ธ์ด ์ƒ์„ฑ๋œ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฅ๊ณ  ์„œ๋ฒ„๋ฅผ ์‹คํ–‰์‹œ์ผœ์ฃผ๊ณ  http://127.0.0.1:8000/admin ๋กœ๊ทธ์ธ์„ ํ•ด์ฃผ์„ธ์š”.

user model ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉ๋˜์–ด admin์—์„œ๋„ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

 

mySpartaSns > tweet ์•ฑ > models.py ์ ์šฉ > ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ์šฉ >  Admin ์ ์šฉ >

โญ๏ธ์™„๋ฃŒโญ๏ธ

๋ฐ˜์‘ํ˜•