์๊ณ ์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด model์ด๋ผ๋ ๊ฐ๋ ์ ์ฌ์ฉํ๋ค!
๋ชจ๋ธ : ์ฐ๋ฆฌ๊ฐ ๋ง๋ค ์น์ฌ์ดํธ์์ ๋ค๋ฃฐ ์ ๋ณด์ ๋ด์ฉ, ํน์ฑ์ ๊ธฐ์ ํ๊ฑฐ๋ ์ ์ํ ๊ฒ
์ ์ฅํ๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ํ๋ ์ ๋ณด๋ค์ ๊ตฌ์กฐํํ๊ณ ๊ฐ๋ ํ ํ ๊ฒ. (์คํค๋ง)
๊ฒ์๊ธ, ํ์์ ๋ณด ๋ฑ๋ฑ
DB์ฐฝ๊ณ ์ ์ ์ฅ๋จ
DB: ์์คํ . ์ค์ ๋ก ์ ๋ณด๊ฐ ์ ์ฅ๋๋ ๊ณต๊ฐ์ ๋งํจ-> ๋ชจ๋ธ๋ง๋ ์คํค๋ง์ ์ ๋ณด๋ฅผ ๋ฐ๋ฅด๋ ํ ์ด๋ธ๋ค์ ์งํฉ.
1) ์ข ๋ฅ(์ ๋ณด) : ๋ง์ง, ํ๊ฐ, ํ์
2) ์์ฑ : (์ฃผ์, ๋ช ์นญ, ์ ํ) , (๋ณ์ , ํ์ ์ ๋ณด, ์ฝ๋ฉํธ), (์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ, ๋๋ค์)
3) ์๋ฃํ : (string, string, string) , (int, ํ์ model reference(relation), string), (string, string, string)
4) relation ๊ด๊ณ ์ ์.
django model์ ๊ฒฝ์ฐ DB ์ข ๋ฅ๊ฐ ๋ฐ๋๊ฑฐ๋ ๋ฒ์ ์ด ๋ฐ๋์์ ๋ ์ฝ๋ ์์ ์ ๋ง์ด ํ ํ์๊ฐ ์๋๋ก ์๋์ผ๋ก ์ฐ๊ฒฐํด์ค ์ ์๊ฒ ํด์ค๋ค.
- Model Class ์ ์ธ
์ฐธ๊ณ ๋ก ๋ python3 ๋ฅผ ๋ถ์ฌ์ค์ผ ํ๋ค.. ์ ๊ฑฐ ์๋ถ์ฌ์ ๋ ํ์ฐธ ์ ์๋ผ?!?!ํ๊ณ ์ใ ์์ด
from django.db import models
# Create your models here.
class Post(models.Model):
title = models.CharField(max_length = 30)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True) #์ด post ๋ฐ์ดํฐ๊ฐ ์์ฑ๋ ๋ ์๋์ผ๋ก ํ์ฌ ์๊ฐ์ ์ถ๊ฐ
updated_at = models.DateTimeField(auto_now=True) #์ต๊ทผ ์์ ์ผ
๋ค์๊ณผ ๊ฐ์ด ๋ชจ๋ธ class๋ฅผ ์ ์ํ ์ ์๋ค.
from django.urls import path
from . import views
urlpatterns = [
]
๊ทธ๋ฆฌ๊ณ first ๋ ์ฒ๋ผ second ์์๋ urls.py๋ฅผ ์์ฑํด์ค๋ค.
settings.py ์ ๊ฐ๋ณด๋ฉด DB ์์ง์ด sqlite๋ก ์ ์๋์ด ์์์ ์ ์ ์๋ค. ๋์ค์ ํ๋ก์ ํธ๊ฐ ๋ ์ปค์ง๋ฉด ๋ค๋ฅธ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ก ๋ฐ๊ฟ์ค์ผ ํจ.
์ด์ ์ ๋์๊ฐ๋ runserver๋ฅผ ํ๊ธฐ ์ ์!
์๋ก์ฝ๋กฌ 'makemigrations'์ ํด์ค์ผ ํ๋ค.
์๋ฅผ ํตํด ์ฐ๋ฆฌ๊ฐ ์ ์ํ model์ DB ์์ง์ ๋ง๊ฒ ์ฝ๋ํ(?) ํ ์ ์์
๋ชจ๋ธ์ ๋ฐ๊ฟจ์ผ๋ฉด ์ ๊ฑธ ํ ๋ฒ ํด์ค์ผ ํจ.
์ด์ ์๋ฒ๋ฅผ ๋๋ฆฌ๋ฉด..!
์ด๋ ๊ฒ migrate๋ฅผ ํ๋ผ๋ ์๊ธฐ๊ฐ ๋์จ๋ค.
ํ๋ ๋๋ก migrate๋ฅผ ํด์ฃผ๋ ์ด๋ ๊ฒ ๋ญ๊ฐ ์๋ฉ ๋จ๊ณ
firstdjango ์์ db.sqlite3๋ผ๋ ์๋ก์ด ํ์ผ์ด ํ๋ ์์ฑ๋์๋ค!
๋์ถฉ model ๋ฐ๊พธ๊ฑฐ๋ ๋ง๋ค๋ฉด makemigrations- migrate๋ฅผ ๊ผญ ํด์ค๋ค๊ณ ์๊ฐํ๋ฉด ๋ ๋ฏ
'๐ก๐ธ๐ธ๐ถ4: ๐ต๐ถ๐ธ๐๐๐๐น > ๐ก๐ฆ๐ข๐ฃ:๐๐ฟ๐ถ๐๐๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Django] 5. ํ ํ๋ฆฟ์ ๊ธฐ๋ณธ ์ดํด (0) | 2020.12.05 |
---|---|
[Django] 4. ํ์ด์ง ๋์ฐ๊ธฐ(views์ urls์ ๊ฐ๋จํ ์ดํด) (0) | 2020.12.05 |
[Django] 3. Django ํ๋ก์ ํธ ์์ฑ (0) | 2020.12.05 |
[Django] 2. vscode Django ์ธํ (0) | 2020.12.05 |
[Django] 1. Web์ ๊ธฐ๋ณธ ์ดํด (0) | 2020.12.05 |