データベースの作成と確認

はじめに

前回の続き↓でmodelを扱っていく。
urhayataro.hatenablog.com

モデルとはデータベースのことで、今回作成しようとしている本棚アプリケーションでは、どこにどのような本があるのかをまとめておく為にデータベースを作成します。

今回やることは、モデルの作成と作成したモデルの確認までを行います。

モデルの作成

どのようなデータベースを作成するかというと、それぞれidと名前、番号を持ったデータを作成します。

では実際にbook/models.pyに以下の記述を行います。

from django.db import models

# Create your models here.
class SampleModel(models.Model): # 追加
    title = models.CharField(max_length=100) # 追加
    number = models.IntegerField() # 追加

クラス名は何でも良いですが、SampleModelとしています。
titleは、データを呼び出すときに使う名前であり、CharFieldはtitleの型を示しています。CharFieldとした場合引数は、文字列の最大長を表すmax_lengthを指定する必要があります。
また、numberのIntegerFieldは整数型を表しています。

それから、アプリケーションで作成したデータベースを後に作成する管理画面に表示させるためにadmin.pyを使って設定していきます。
bookproject/book/admin.pyに以下を記述します。

from django.contrib import admin
from .models import SampleModel # 追加
# Register your models here.

admin.site.register(SampleModel) # 追加


ここまでできれば、データベースに反映させます。反映させるには、2つのコマンドが必要になります。それがmakemigrationsとmigrateです。
前者は、models.pyに基いてデータベースの設計図を作成します。後者は設計図をもとにデータベースを作成します。2つに分けている理由は、データベースへの誤った操作を防ぐためです。makemigrationsコマンドで誤った操作に対して一度エラーを吐いてくれます。

ではmakemigrationsコマンドを使い、設計図の作成をしましょう。

python3 manage.py makemigrations

これでbookproject/book/に、0001_initial.pyが作成されます。

次に、makemigrationsコマンドで作成された、0001_initial.pyという設計図をもとにmigrateコマンドを使い、データベースの作成をします。

python3 manage.py migrate

これでデータベースの作成ができました。


作成したデータベースの確認

データベースの確認は、管理画面で確認します。管理画面に入るにはユーザーでないといけません。そのためまずは、ユーザーの作成をします。
ターミナルで以下を入力し、ログインのためのユーザー名とパスワードを登録します。

python3 manage.py createsuperuser`
ユーザー名
パスワード
パスワード(再)

その後、サーバーを立ち上げ、127.0.0.1:8000/admin/にアクセスします。そしてユーザー名とパスワードを入力します。

python3 manage.py runserver

ログインができれば以下のような画面が表示されます。

そして、Usersをクリックすれば、先程登録したユーザー名があるはずです。

また、Sample modelsの右にある+Addを押すと、titleとnumberが追加できます。ここでもデータをデータベースに保存することができます。

これでモデル(データベース)の作成ができました。


おわりに

今回はモデルを作成し、確認しました。models.pyとadmin.pyのファイルに記述し、makemigrationsとmigrateコマンドを使うとデータベースの作成ができることもわかりました。

続き
urhayataro.hatenablog.com