見出し画像

Djangoでアプリ作成〜体重管理アプリ編4〜

こんにちは。こちょすです。

今日ものんびりゆったり体重・体脂肪管理アプリ作っていきましょーう🔥

前回までの復習

前回までで、一応Djangoの初期設定を終えて画面に表示させることができました。

スクリーンショット 2020-04-19 12.24.26

今回からは実際にデータベース連携をしたり、実際に一覧を表示したりしていきましょう。💪

テーブル設計を考える

ポイントとしては「画面表示したときに必要な要素を考えること」です。

どんな項目を入力してもらうのか、その項目にはどんな項目が入るのか、もし文字列などでサイズの上限があるならその上限はいくつにするのかを考えていきます。今回でいうと、体重・体脂肪率はパッと思いつきますね。あとは日別に登録がしたいので、年月日ですね。今回はシンプルにしたいので、この3項目とします。
1、年月日(日付項目)
2、体重(数値項目)
3、体脂肪率(数値項目)

頭の中では画面をイメージしながらこんな感じで洗い出してます。

スクリーンショット 2020-04-19 17.51.56

データベースへの反映

では上で項目の洗い出しは終わったので、Djangoに反映させていきましょう。💪

models.pyの修正

DjangoではDBを直接SQLでいじるのではなく、DBと紐づくオブジェクトを生成することでDBに対して操作を行う思想です。(Railsなども同じ思想ですね)

少し脱線すると、オブジェクト志向という考え方を聞いたことがある方もいるかもしれません。このオブジェクト志向という考え方と、データベースの中でもっともポピュラーなリレーショナルデータベースはそもそもの思想が違うので、その違いを埋めるために存在しているのがO/Rマッパーと呼ばれるものです。(ObjectとRelationをマッピングするもの)

さて、話を戻して、、、

以下のようにDayクラスを宣言して、その中に先ほど洗い出した3つの項目を定義します。この時、データ型と紐づくFieldには色々種類がありますので、それは今後別のデータ型が使いたくなった時に調べて見てください!

スクリーンショット 2020-04-19 18.12.02

マイグレーションの実行

models.pyで定義したテーブル設計を、実際にデータベースに反映させる作業をマイグレーションといいます。このマイグレーションは2段階で成り立っています。
1、マイグレーションファイルを作成する
2、実際にマイグレーションファイルをデータベースに反映する

これをコマンドで打ってマイグレーションしてみましょう!💪

スクリーンショット 2020-04-19 21.40.20

これでマイグレーション完了!データベースの整備ができました。

キリがいいので今回はここまでにしましょう。次回は今回整備したデータベースに対して登録や更新・削除機能を実装していきます!

引き続き見てくださいねー!


ツイッターもやっています!エンジニアの皆さんに有益な情報を発信していく所存ですので、ぜひフォローお願いします!🙇


この記事が参加している募集

おうち時間を工夫で楽しく

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