dayjournal memo

Total 992 articles!!

Django #003 – モデル設定

Yasunori Kirimoto's avatar

画像



モデルを設定するメモ。

  • Python v3.6.0
  • Django v2.2.1


sampleアプリケーションをプロジェクトに追加


/config/settings.py

# --- 上部省略 ---

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #sampleアプリケーションをプロジェクトに追加
    'sample.apps.SampleConfig'
]

# --- 下部省略 ---


モデルを設定


/sample/models.py

from django.db import models

#メインリストテーブル
class MainList(models.Model):
    class Meta:
        #テーブル名設定
        db_table = 'mainlist'

    #フィールド設定(メイン項目名、日付)
    title = models.CharField(verbose_name='メイン項目名', max_length=100)
    datetime = models.DateTimeField(verbose_name='日付')

    #名称設定
    def __str__(self):
        return self.title

#サブリストテーブル
class SubList(models.Model):
    class Meta:
        #テーブル名設定
        db_table = 'sublist'

    #フィールド設定(サブ項目名、総数)
    mainlist = models.ForeignKey(MainList, on_delete=models.CASCADE)
    title = models.CharField(verbose_name='サブ項目名', max_length=100)
    totalnum = models.IntegerField(verbose_name='総数', default=0)

    #名称設定
    def __str__(self):
        return self.title


作成されるテーブルを管理画面で編集できるように設定


/sample/admin.py

from django.contrib import admin

#メインリストインポート
from .models import MainList
#サブリストインポート
from .models import SubList

#メイン・サブリストを管理画面上に表示
admin.site.register(MainList)
admin.site.register(SubList)


モデルの変更分を判断し、自動でマイグレーションファイルを生成

python manage.py makemigrations sample

画像



マイグレーションファイルからテーブル作成

python manage.py migrate

画像



簡易サーバー起動

python manage.py runserver

http://127.0.0.1:8000/admin」にアクセスし管理画面を表示

画像



メインリストにサンプル値を登録

画像

画像



サブリストにサンプル値を登録

画像

画像



book

Q&A