Model == Data
Django에서 데이터를 관리하려면 어떻게 해야할까?
장고에서는 Model을 사용해 SQL 쿼리문 없이 간단하게 데이터를 관리할 수 있다.
모델 작성
간단한 주소록 데이터를 만들어보자.
from django.db import models
class Addresses(models.Model):
name = models.CharField(max_length=10)
phone_number = models.CharField(max_length=13)
address = models.TextField()
class를 사용하여 모델을 정의한다.
Addresses(models.Model)
는 Addresses라는 이름의 모델을 정의하겠다는 뜻이다.
각 속성들을 정의 할때 필드마다 어떤 종류의 데이터를 가지는지 알려주어야한다.
이 때 고유값(id)은 따로 작성하지 않아도 데이터가 추가될때 자동으로 생성된다.
makemigrations & migrate
git에 비유하여 표현하자면 makemigrations는 git add
와 유사한 명령어다.
새로 만들어지거나 수정된 데이터(모델)를 DB에 올릴 준비를 하는 것이다.
python3 manage.py makemigrations <app name>
해당 명령어를 입력하면 터미널에 어떤 모델이 변경 및 삭제, 또는 추가 되었는지를 볼 수 있다.
이제 다음 명령어를 통해 DB에 모델을 올린다.
python3 manage.py migrate <app name>
해당 명령어를 입력하면 db.sqlite3
파일이 생성되는 것을 볼 수 있다.
앞으로 관리할 데이터들이 전부 저 파일 안에 저장되는 것이다.