プログラミング/Djangoアプリケーションのモデル作成とデータベースへの反映

※Djangoに付属のSQLiteを使用

ターミナルでアプリケーションを作成。

python manage.py startapp アプリケーション名

setting.pyにアプリケーションを追加

INSTALLED_APPS = [
    'アプリケーション名.apps.アプリケーション名Config', #アプリケーションを追加 例)project.apps.ProjectConfig
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

アプリケーションのurls.pyを作成

from django.urls import path
from . import views

app_name = 'アプリケーション名'

urlpatterns = [

]

アプリケーションのmodels.pyの内容

from django.db import models
from django.utils import timezone

class モデルクラス名(models.Model): #この部分がデータベースで管理するデータ
    category = models.CharField('カテゴリ', max_length=255)
    text = models.TextField('本文')
    created_at = models.DateTimeField('作成日', default=timezone.now)

モデルをデータベースに反映する。ターミナルで入力。

python manage.py makemigrations アプリケーション名

以下のように表示されればOK

Migrations for 'アプリケーション名':
  diaries/migrations/0001_initial.py
    - Create model モデルクラス名

次に以下をさらにターミナルで入力。

python manage.py migrate

以下のように表示されればOK

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, アプリケーション名, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying diaries.0001_initial... OK
  Applying sessions.0001_initial... OK

ここから先はDjango管理サイトでデータベースを操作していきます。

%d人のブロガーが「いいね」をつけました。