本棚アプリケーションの作成【4-3 model(データベース)について】

modelを理解する

データベースの設定が書かれているファイルは「settings.py」ファイルです。
実際に「settings.py」ファイルの中の該当部分を見てみましょう。

bookproject/bookproject/settings.py

・・・省略・・・

DATABASES
 = {
    'default': {
        'ENGINE''django.db.backends.sqlite3',
        'NAME'BASE_DIR / 'db.sqlite3',
    }
}
・・・省略・・・

中身を見ると、sqkite3という記載がある通り、Djangoではデフォルトでsqlite3というデータベースマネジメントシステムを使えるように設定されていることがわかります。
Djangoでデータベースを扱う際に使うファイルが「models.py」です。models.pyファイルは、データベースを作成する上で用いられる設計図のようなものです。

 

実際に簡単なコードを書いてmodels.pyファイルの中身のイメージを膨らませていきましょう。

bookproject/book/models.py

from django.db import models

from django.db import models

class SampleModel(models.Model):                  #コード追加
    title = models.CharField(max_length=100)     #コード追加
    number = models.IntegerField()               #コード追加

に編集

次に「models.py」ファイルの中身を作成したら、データベース(今回の場合はsqlite3)にその内容を反映させる必要があります。

makemigrationsコマンドを実行していきます。

manage.pyのあるディレクトリで以下のコマンドを実行していきます。

(venv) $ python3 manage.py makemigrations

するとターミナルに次のような出力がされます

次にデータベースに反映させるために以下のコマンドを実行します

(venv) $ python3 manage.py migrate

管理画面でユーザーテーブルを確認する

管理画面上で確認するのですがそのためにはユーザー名とパスワードを入れてログインしなければいけません。

その為以下のコマンドを実行していきます。

(venv) $ python3 manage.py createsuperuser

ユーザー名とパスワードを入れて進めていきます。

サーバーを立ち上げて確認してみましょう。

(venv) $ python3 manage.py runserver

http://127.0.0.1:8000/admin/

この状態では作成したアプリが表示されません。表示させるためにadmin.pyを編集していきます

bookproject/book/admin.py

from django.contrib import admin

from django.contrib import admin
from .models import SampleModel

admin.site.register(SampleModel)

に編集

これでサーバーを立ち上げて確認してみましょう