2์ฃผ์ฐจ_2๋ฒ์งธ_Tweet ์์ ํ๊ธฐ
์ด๋ฒ์๋ tweet์ ์์ ํด์ฃผ์
user ์ฒ๋ผ ๋น์ทํ๋๊น ๋ณต์ตํ๋ค ์๊ฐํ๊ณ ๋ ์ต์ํด์ ธ๋ณด์!
์ ์๋ ์ฌ์ฉ์๋ฅผ ๋ง๋ค์๊ธฐ ๋๋ฌธ์ user ์ฑ์ผ๋ก ํ์ง๋ง
์ด๋ฒ์๋ ๊ธ์ ๋ง๋ค ๊ฒ์ด๊ธฐ ๋๋ฌธ์ tweet ์ฑ์์ ์งํํ ๊ฒ!
tweet์ ์ด์ฉํด์ sns ๊ฒ์๊ธ์ ๋ง๋ค ๊ฑฐ๋ค!!!
์์ฑ์, ๊ธ ๋ด์ฉ, ์์ฑ์ผ์, ์์ ์ผ์ ์ ๋ ๋ฃ์ด์ฃผ์
ํ๋ก์ ํธ ๊ตฌ์กฐ์ db์ฐ๊ฒฐ, db.sqlite3 ์์ฑ ํ์ธ์ ์ ์ ํ์ผ๋๊น ๋ชจ๋ธ๋ง๋ค๊ธฐ๋ถํฐ ์์ํ์!
๋ชจ๋ธ ๋ง๋ค๊ณ , db์ ๋ฃ๊ณ , ๊ด๋ฆฌ์ ๊ณ์ ์ ๋ฃ์ด์ฃผ๋ฉด ๋๊ฒ ๋ค!
1. tweet ๋ชจ๋ธ ๋ง๋ค๊ธฐ
tweet ํด๋์ models.py์ ์๋ ์ฝ๋ ๋ถ์ฌ๋ฃ์
# tweet/models.py
from django.db import models
from user.models import UserModel
# user ์ฑ์ ์๋ models ์ค์ UserModel์ ๊ฐ์ ธ์ค๊ฒ ๋ค๋ ๊ฒ!
# Create your models here.
class TweetModel(models.Model):
class Meta:
db_table = "tweet"
author = models.ForeignKey(UserModel, on_delete=models.CASCADE)
# ForeignKey๋ ๋ค๋ฅธ db์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋ค๋ ๊ฒ!
# ๋ค๋ฅธ ๋ชจ๋ธ์ ๊ฐ์ ธ์์ ์์ ๋ฃ์ด๋๊ฒ ๋ค๋ ๊ฒ์ด๋ค ๊ทธ๋์ UserModel์ด ๋ค์ด๊ฐ ์๋๊ฒ
content = models.CharField(max_length=256)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
ForeignKey๋ '์ธ๋ถ ๋ชจ๋ธ์ ๊ฐ์ ธ์์ ์ฌ์ฉํ๊ฒ ๋ค.' ๋ผ๋ ๊ฒ!
author = models.ForeignKey(UserModel, on_delete=models.CASCADE)
์ฌ๊ธฐ์์ author๋ ์๋ก์ด ์ฌ๋์ด ์๋๋ผ, User ์ฑ์์ ๋ง๋ค์ด ์ฃผ์๋ User Model์ ์ฌ์ฉ์๊ฐ ์์ฑ ํ ๊ธ ์ด๊ธฐ ๋๋ฌธ์ ForeignKey๋ฅผ ์ฌ์ฉํด์ ๋ฃ์ด์ค ๊ฒ!
2. db์ ๋ฃ๊ธฐ
ctrl + c ๋ก ์๋ฒ ์ข ๋ฃ์ํค๊ณ
python manage.py makemigrations
python manage.py migrate
์์ฐจ์ ์ผ๋ก ์ ๋ ฅํด์ฃผ์!
์ ๋์๋ค!
db.sqlite3์์๋ tweet ํด๋๊ฐ ์ ๋ค์ด๊ฐ ์๋๊ฑธ ํ์ธํ๋ค!
์ด์ python manage.py runserver ์ ๋ ฅํด์ ์๋ฒ ๋ค์ ์คํ์์ผ์ ์ค๋ฅ ์๋๋ ํ์ธํ์
์ค๋ฅ ์๋๋คใ .ใ ์ด์ admin์ ๋ฃ์ด์ฃผ์
3. admin์ ๋ฃ๊ธฐ
๊ด๋ฆฌ์ ๊ณ์ ์ user์์ ๋ง๋ค์์ผ๋๊น
๋ฐ๋ก admin์ ๋ฃ์ด์ฃผ์!
tweet ํด๋ -> admin.py์ ์๋ ์ฝ๋ ๋ถ์ฌ๋ฃ๊ธฐ
from django.contrib import admin
from .models import TweetModel
# Register your models here.
admin.site.register(TweetModel)
๊ทธ๋ฆฌ๊ณ
http://127.0.0.1:8000/admin/
์ด๋ฉด ์์ ์๋ฒฝ...!!!
๊ฐ๊ฒฉ์ค๋ฝ๊ตฐ... ์ด์ ์ข ์์๊ฐ ์กํ๋ ๊ฒ ๊ฐ๋ค! ์์ธ๋ตค!