관리 메뉴

Storage Gonie

11. (app1) Django Model 클래스 만들기 (MTV 중 Model을 조작) 본문

웹개발/Django 웹서비스 개발(인프런)

11. (app1) Django Model 클래스 만들기 (MTV 중 Model을 조작)

Storage Gonie 2019. 2. 8. 11:56
반응형

ORM(Object - Relational Mapping) : 장고는 Model과 DB를 연결해서 데이터를 읽기,쓰기,수정하는데 이를 ORM이라고 한다.


Model : DB에 데이터를 저장하거나 DB로부터 데이터를 불러올 때 Model을 사용한다.


아래에서 만든 클래스는 모델을 상속받아 만들어지므로 하나의 모델이라고 생각하면됨.


1. models.py에 아래의 코드를 삽입

- Model 클래스를 만드는 것은 Table을 Create 하는 것과 같은 역할(단, 클래스 내부의 메소드는 코드상에서만 제어가 가능)

from django.db import models
from django.utils import timezone
import random
# Create your models here.

class GuessNumbers(models.Model):
name = models.CharField(max_length=24)
lottos = models.CharField(max_length=255, default='[1,2,3,4,5,6]')
text = models.CharField(max_length=255)
num_lotto = models.IntegerField(default=5)
update_date = models.DateTimeField()

def generate(self):
self.lottos=""
origin = list(range(1,46))
for _ in range(0, self.num_lotto):
random.shuffle(origin)
guess = origin[:6]
guess.sort()
self.lottos += str(guess) + '\n'
self.update_date = timezone.now() # 현재시간을 가져옴
self.save() # 오브젝트를 DB에 저장하는 메소드


2. 가상환경이 켜져있는 상태에서 다음의 두 코드를 입력

- "python manage.py makemigrations"    # migration을 준비해라

- "python manage.py migrate"                 # 실제 DB에 반영을 시켜라

반응형
Comments