django 04 TweetModel

Grace Goh·2022년 9월 28일
0

Django

목록 보기
5/32

UserModel class 생성 -> 명령어로 db 적용... -> admin 페이지에서 출력
(사용자기 때문에 user app에서 진행했다.)

같은 과정을 tweet app으로 한다.

TweetModel class 생성 > DB 적용하기

작성자, 글 내용, 생성일자, 수정일자.

# tweet/models.py 코드스니펫

from django.db import models
from user.models import UserModel
# user app에 있는 model을 가져와 사용할 건데, 이름이 UserModel


# Create your models here.
class TweetModel(models.Model):
    class Meta:
        db_table = "tweet"

	# ForeignKey: 다른 모델을 갖고 오겠다.
    author = models.ForeignKey(UserModel, on_delete=models.CASCADE)
    content = models.CharField(max_length=256)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

(지난 시간에) DB에 적용할 클래스 생성한 후
서버 종료 > 명령어 2개 입력

  • 이런 DB 만들었어
  • 이 DB를 실제 DB에 적용해줘.

(동일하게 작업한다.)
서버 종료 > Terminal 실행 >

  • 이번에는 python manage.py makemigrations 먼저.
    'tweet model을 만들었다.'

  • python manage.py migrate

우측 DB > 새로고침 > 하단에 tweet table 생성 > (content, created_at.. author까지 포린키로 들어가 있다.)

tweet model 저장할 때 user 모델을 같이 저장해서
어떤 사람이 어떤 글을 썼는지까지 알 수 있도록 만들고 있다.

admin에 넣어주기

방금 생성한 tweet model을 넣어주기.

tweet/admin.py
tweet app 안에 있는 admin.py로 들어가서

# 내가 생성한 tweet model을
# admin에 반영하고 싶다.

from django.contrib import admin
from .models import TweetModel

# Register your models here.
admin.site.register(TweetModel)

관리자 페이지 http://127.0.0.1:8000/admin/

tweet model이 생성되어 있다.
데이터 수정이 필요할 때, 관리자 페이지에서 수정·추가·삭제할 수 있다.

profile
Español, Inglés, Coreano y Python

0개의 댓글