ToDoアプリを作ってみよう【環境構築編】」の続きです。今回のToDoアプリケーションでは、ユーザ情報と各ユーザのタスクを管理する必要があります。これらはモデルを定義し、データベースに格納しておくことで、コントローラ側とデータのやりとりをできるようにしておく必要があります。本チュートリアルでは、Pythonのデータベース管理ライブラリであるSQLAlchemyを用います。インストール初めて使う方はインストールしましょう。データベースとして使うことにします。db.pydb.pyには、以下の内容を記述してください。ベースとセッションを定義しています。今後、データベースをいじる際には、このファイルをインポートしセッションを行います。この辺りは後々説明しますので、今の段階では「SQLite3っていうデータベースを使うんだな」程度の理解で大丈夫です。モデル構築それでは、早速モデルを構築していきましょう。いうファイルを作成します。用いて記述していきます。コードを書く前に、作りたいモデルを整理しましょう。以下のようなモデルが考えられます。(タスクが終了したか)少なくとも上記のような情報を持ったモデルがあれば、「ToDo」アプリは作成出来そうです。文法に従って書くと、以下のようになります。定義しておくと便利です。表示したいものを書く)これでモデルの定義が終わりました。コードは、ひとつひとつ丁寧に追えば「なるほど、SQLAlchemyではこう書くのか」と理解できると思います。データベースの作成とサンプルデータの挿入それでは、データベースを実際に作成しましょう。ついでに試しのデータを格納してみます。作り、以下のコードを書いてください。セッションを閉じるでは、このファイルを実行してみましょう。create_table.py実行すると、db.sqlite3というファイルが作成されます。17:43:31.321445|0このように表示されればOKです!パスワードもしっかり暗号化されていますね。これで、「データベースの作成」および「モデルの作成」、そして「サンプルデータの追加」ができました。コントローラやビューと連携させてみましょう!モデルの情報を管理者ページに反映させる前回作った管理者ページに、モデル情報を反映させてみます。「ログイン機能」などはないので、先ほど作ったadminユーザのみ対応させてみましょう!controllers.pyを修正まず、以下の内容を追加でインポートします。現段階では動作確認なので、adminユーザのみを取得し、それに紐づいたタスクをデータベースから取得します。データを取得した後は、セッションをクローズするのを忘れないようにしましょう。次に、ビューを修正します。取得したタスクは、テーブルとして表示するようにしてみました。アクセスしてみましょう。改良したadminページうまくモデルからデータを取得できていそうです!第2回:さいごに今回は、モデルの構築をメインに行いました。「ToDoアプリ」とは言えませんね。「ログイン機能」はない上に、ビューからToDoリストに「タスク追加」もできません。社長と一杯飲みながらお話してみたい方はこちらミツオカフリーランスエンジニア様の募集はこちらにゃんこ師匠その他、お問い合わせはこちらミツオカお気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!一緒に働いてくれる仲間を募集しております!ライトコードでは、仲間を募集しております!当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。「好きなことを仕事にするエンジニア集団」の(株)ライトコードのメディア編集部が書いている記事です。rightcodeエンジニア大募集中!私たちライトコードでは、エンジニアを募集しております。私服大歓迎のカジュアルな職場なので、お気軽にご応募ください!また、フリーエンジニアの方も募集しております。