見出し画像

36歳がDjangoを勉強してみた(モデルを作る)

今回もpaizaで勉強したWebアプリケーションフレームワークのDjangoについて書きます。

今日学んだことです。

【学んだこと】

●Djangoでモデルを作ってみた

モデルとは、データベースのレコードをPythonのオブジェクトに割り当てることができる機能です。

最初にモデルを利用するため、データベースを事前に作成しておきます。
今回も構築が簡単なpaiza cloudを利用しました。

【手順】
1.メニュー>phpMyAdmin>Open phpmyadminを選択

画像2

2.「データベース」を選択して以下を入力し、「作成」ボタンを押します。
DB名:mydb、utf8_general_ci

画像2

3.Djangoのプロジェクトからデータベースを使用できるようにするため、以下のファイルを変更する

~/myapp$ vi myapp/settings.py

以下のように変更します。

DATABASES = {
#    'default': {
#        'ENGINE': 'django.db.backends.sqlite3',
#        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#    }
   'default': {
       'ENGINE': 'django.db.backends.mysql',
       'NAME': 'mydb',
       'USER': 'root',
       'PASSWORD': '',
       'HOST': '127.0.0.1',
       'PORT': '3306',
   }
}

4.データベースのレコードを表すモデルを定義します。
以下のファイルを変更します。

~/myapp$ vi helloworld/models.py

以下のように変更します。

from django.db import models

class Article(models.Model):
   content = models.CharField(max_length=200)

   def __str__(self):
       return self.content

5.マイグレーションを行います。
マイグレーションとは、データベースの中身をまとめて移行したり変更するための作業です。
以下のコマンドを実行します。

マイグレーションファイルの作成
~/myapp$ python manage.py makemigrations helloworld
Migrations for 'helloworld':
 helloworld/migrations/0001_initial.py
   - Create model Article

データベースに適用する
~/myapp$ python manage.py migrate
処理結果が表示される

6.マイグレーションが完了したことを確認します。
phpmyadminを確認すると「helloworld_article」ができていて、中身を確認すると、「content」というカラムが作成されています。

画像3

画像4

このように、Djangoからデータベースを操作することができました。

本日はここまでです。

ありがとうございました。


この記事が気に入ったらサポートをしてみませんか?