여름의 서재
[Django] CRUD 정복하기(1)_Model 본문
728x90
- Model.py
: 단일한 데이터에 대한 정보를 가짐(필수적인 필드들과 동작들을 포함)
: django는 model을 통해 데이터에 접속하고 관리
: 일반적으로 각각의 model은 하나의 데이터베이스 테이블에 매핑 됨
환경을 셋팅했다면 가장 먼저 앱 폴더에서 models.py에 사용할 테이블을 만들어주자.
from django.db import models
class Article(models.Model): # django.db 라는 모듈의 models 를 상속
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.title
-> 이때 기본키인 id는 처음 테이블 생성시 자동으로 만들어진다.
-> 모든 모델마다 표준 파이썬 클래스의 메소드인 str() 을 정의하여 각각의 object가 사람이 읽을 수 있는 문자열을 반환(return)하도록 한다.
✨ 여기서 잠깐!
- makemigrations
: DB에 변경사항이 있다면 그 변경 사항을 반영해 주어야 한다.
모델을 활성화 하기 전에 DB설계도(마이그레이션)을 만들어 준다.
# 터미널
python manage.py makemigrations
-> 0001_initial.py 이라는 새로운 설계도가 생성된다. (이름은 설계도를 계속 만들때마다 바뀜)
- migrate
: 설계도를 만들었으면 그 설계도를 실제 DB에 반영한다.
python manage.py migrate
- sqlmigrate
: 해당 migrations 설계도가 SQL 문으로 어떻게 해석되어서 동작할지 미리 확인 할 수 있다.
python manage.py sqlmigrate app_name 0001
- showmigrations
: migrations 설계도들이 migrate 됐는지 안됐는지 여부를 확인 할 수 있다.
python manage.py showmigrations
'Skill > Django' 카테고리의 다른 글
[Django] CRUD 정복하기(4)_Templates (0) | 2021.09.06 |
---|---|
[Django] CRUD 정복하기(3)_View (0) | 2021.09.06 |
[Django] CRUD 정복하기(2)_Url (0) | 2021.09.06 |
[Django] 장고 프로젝트 시작 전 초기 환경 설정 (0) | 2021.09.05 |
[Django] 장고 기초_MTV 디자인 패턴 (0) | 2021.09.05 |
Comments