データベースの作成と確認
はじめに
前回の続き↓で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コマンドを使うとデータベースの作成ができることもわかりました。