モデルを設定するメモ。
- 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」にアクセスし管理画面を表示
メインリストにサンプル値を登録
サブリストにサンプル値を登録