TIL | Django - 스타벅스 모델링하기 (django A to E) - 4

송치헌·2021년 8월 18일
0

TIL | Wecode - Django

목록 보기
8/18

💡해당 포스트는 MacOSX, Django, mySQL, iterm2 터미널, vim에디터, google chrome 등을 이용하고 있습니다. 사용하는 프로그램이 다를 경우 해당 글과 다른 결과가 나올 수 있음을 알려드립니다.💡

스타벅스 모델링하기(django A to E) - 3 에서 이어집니다.


스타벅스 ERD 모델

위의 ERD 모델을 참고하여 products 프로젝트 디렉토리 안에 있는 models.py 파일을 작성한다.

models.py 작성하기


from django.db import models

class 테이블 이름(models.Model):
    속성명 = models.필드명(필드 옵션)
    class Meta: # 현재 테이블의 정보를 적어준다.
        db_table = 'DB에 저장될 테이블 이름'

이런 포맷을 가진다. 각자 원하는 ERD모델을 가지고 작성해 주면 된다.

예를 들어, 상품의 이미지 URL주소를 저장하는 테이블은 다음과 같이 정의하면 된다.

class Image(models.Model):
     image_url = models.CharField(max_length=200)
     product = models.ForeignKey('Product', on_delete=models.CASCADE)

     class Meta:
         db_table = 'images'

데이터베이스에 테이블 저장하기


models.py를 다 작성했으면 manage.py가 있는 디렉토리로 나온다. models.py를 작성했다고 해서 데이터베이스에 해당 테이블이 추가되는 것은 아니다. migration이라는 작업을 해줘야 데이터베이스로 테이블이 저장된다.

python manage.py makemigration products

products는 현재 진행중인 프로젝트의 app이름이다. 본인이 만든 앱 이름을 적으면 된다.

해당 명령어를 실행하면 migration을 만든 것 뿐이다. 그냥 설계도를 적었다고 생각하면 된다. 이제 이 정보를 가지고 데이터베이스에 저장하면 된다.

python manage.py migrate

오류없이 잘 실행되었다면 mySQL에 들어가서 테이블 정보를 확인해 보면 잘 생성이 되어있을 것이다.

여기까지가 데이터베이스에 테이블을 저장하는 것이다.

profile
https://oraange.tistory.com/ 여기에도 많이 놀러와 주세요

0개의 댓글