Django DB를 사용하는 방법을 알아보자.
django-admin startproject my_site
cd my_site
python manage.py startapp first_app
db를 사용하기 전에 몇 가지 설정을 해야한다.
1. first_app/apps.py에서 FirstAppConfig 클래스가 있는 걸 확인한다.
2. my_site/settings.py에서 'INSTALLED_APPS'에 아래의 코드를 추가한다.
first_app.apps.FirstAppConfig
3. migrate를 위해서 터미널에 아래의 코드를 입력한다.
python manage.py migrate
이제, 모델을 만들어보자.
1. first_app/models.py에서 열을 생성한다.
from django.db import models
# Create your models here.
class Player(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
age = models.IntegerField()
2. 터미널에 아래의 코드를 입력한다.
python manage.py makemigrations
python manage.py migrate
이렇게 모델을 천천히 만들어가면 된다.이제 CRUD(CREATE, READ, UPDATE, DELETE)를 배우면 된다.
1. shell을 사용하기 위해 터미널에 아래의 코드를 입력한다.
python manage.py shell
이렇게 하면 Python과 Shell 간의 연결이 된다.
2. 아래의 코드를 입력해서 Player 클래스를 가져온다.
from first_app.models import Player
CREATE
1. 인스턴스를 만들기 위해 아래의 코드를 입력한다.
Son = Player(first_name="Heung min", last_name="Son",age=32)
Son.age 를 입력하면 32가 출력될 것이다. 다만 여기서 주의해야할 점은 이렇게 인스턴스를 만들었지만 데이터베이스에 삽입이 된 것이 아니다. 그래서 꼭 save() 메소드를 사용해야한다.
2. DB에 삽입하기 위해 아래의 코드를 입력한다.
Son.save()
3. 두 개의 인스턴스를 새로 만들어보기 위해 아래의 코드를 입력한다.
#인스턴스를 만들고 DB삽입까지 한 번에!
Player.objects.create(first_name="Min Jae", last_name="Kim", age=31)
#하나 더!
Player.objects.create(first_name="Kang-in", last_name="Lee", age=22)
한 번에 여러명 입력하는 방법은 리스트로 인스턴스를 이어서 만들고 Player.object.bulk_create(list명)을 넣으면 된다.
다음 포스팅은 데이터베이스(2)이고, CRUD에 좀 더 집중해보겠다.
'Web > Django' 카테고리의 다른 글
Django 템플릿 상속 (0) | 2023.03.05 |
---|---|
Django 템플릿 태그와 url명 (0) | 2023.03.05 |
Django 템플릿(3) 명령어 (0) | 2023.03.05 |
Django 템플릿(2) 변수 (0) | 2023.03.05 |
Django 템플릿 (0) | 2023.03.05 |