Data Story

데이터 사이언스, 쉽게 설명하기

Web/Django

Django 데이터베이스

_data 2023. 3. 12. 22:51

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 간의 연결이 된다.

IPython이다. Jupyter notebook처럼 사용하면 되겠다.

 

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)

김민재, 이강인을 집어넣은 상태. (3)은 3번 째 인덱스라는 뜻이다. 즉 우리의 DB에는 손흥민(1), 김민재(2), 이강인(3)이 있는 것이다.

 

한 번에 여러명 입력하는 방법은 리스트로 인스턴스를 이어서 만들고 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