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 파일이 생성되는 것을 볼 수 있다.

앞으로 관리할 데이터들이 전부 저 파일 안에 저장되는 것이다.