画像




モデルを設定するメモ。

  • 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」にアクセスし管理画面を表示

画像




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

画像

画像




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

画像

画像







Q&A