💡해당 포스트는 MacOSX, Django, mySQL, iterm2 터미널, vim에디터, google chrome 등을 이용하고 있습니다. 사용하는 프로그램이 다를 경우 해당 글과 다른 결과가 나올 수 있음을 알려드립니다.💡
스타벅스 모델링하기(django A to E) - 3 에서 이어집니다.
위의 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에 들어가서 테이블 정보를 확인해 보면 잘 생성이 되어있을 것이다.
여기까지가 데이터베이스에 테이블을 저장하는 것이다.