TIL|Django-スターバックスのモデリング(Django A to E)-4



💡この記事には、MacOSX、Django、mySQL、iterm 2端末、Vimエディタ、Google Chromeが含まれています.使用するプログラムが異なる場合は、文章とは異なる結果が得られる場合があります.💡
スターバックスのモデリング(django A to E)-3から続きます.

スターバックスERPモデル



上記のERDモデルを参照して、製品カタログの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名です.自分で作ったアプリの名前を書けばいいです.
適切なコマンドを実行する限り、移行は作成できません.設計図を書いたつもりでいいです.これらの情報をデータベースに保存することができます.
python manage.py migrate
エラーがなく、正常に動作している場合は、mySQLにアクセスしてテーブル情報を表示できます.
ここまではデータベースにテーブルを格納します.