【Django入門】ADMINページでDBのテーブルのデータ操作(追加・削除)をする方法

▼この記事をSNSでシェアする▼

スポンサーリンク

スポンサーリンク

最近Djangoを使いはじめたとんびです。

noteにも書いているんですが、人狼の村構成を提案するアプリを作っていていまDB周りをやっています。

ど初心者ですがDB操作を試したのでそのときのことを備忘録的にまとめておきます。

間違い等があったらご指摘お願いいたします。

1. 知っておいて欲しいこと

ADMINページのほうがDB操作は簡単

大前提としてこれがある。

DBの操作の手順として、

  1. Pythonシェルから実行する
  2. ADMINページから行う

の二つがありますが、

無理してShellを使う必要はない。

僕も実際実データの投入はADMINページからやっている。

UIでフィールドに入力するだけなので、直感的にすぐできるところではあります。

2. 操作に関する前提

2.1 ぼくの利用している環境

Mac OS High Sierra10.13.6に下記のものを利用しています。

  • Atom(テキストエディタ+ターミナル付き)
  • Homebrew(パッケージマネージャ)
  • Python3(version 3.7.0)と主要なライブラリ(numpy,matplotlib,scipy,pandas)

2.2 前提としている初期設定

  • Djangoの開発環境のセットアップ
  • DBの初期マイグレーションができることを確認している
  • サーバーの稼動確認済み
  • 管理画面のユーザー作成済み

このへんは以下の記事に書いているので未済のひとはチェックしてみてください!

今回は実際にDBを作成するところからADMINでデータを追加するところまでを紹介します。

3. ADMINページでDB操作準備

3.1 models.pyを記述

Shellで操作する場合でも必要です。これがないとDBが作成されません。

models.pyにクラス名とフィールドの設定を記述します。

僕の場合の具体例

Villageというテーブルには村の名前や人数各役職のカラムがたくさんあります。Characterのテーブルにはキャラクタの属性を格納します。

いまのところ2つのテーブルのみで外部キーなどの制約は追加していません。

今回はこのフィールドの属性とかについてはあまり触れないことにします。

以下の記事がmodels.pyの描き方の参考になると思います。

Djangoモデル層

3.2 modelの有効化

プロジェクトのディレクトリにあるsettings.pyにモデルの設定を記述します。

INSTALLED_APPSに’アプリ名.apps.アプリ名Config’

を追記します。

僕のアプリの場合

3.3 migrateする

ここについてもShellで操作する場合でも必要です。DBが作成に必須です。

初期にマイグレーションファイルから変更が反映されていないので作成し直しましょう。

テーブルの作成や既存のテーブルについてカラムの変更・削除を行ったら都度マイグレーションが必要です。

アプリのディレクトリの直下で下記コマンドを実行します。

僕の場合

正常に実行されると、

migrationsのフォルダにマイグレーションファイルが作成されます。

  • 0001_initial.py:初期でmodels.py定義してmigrateで作成されたファイル
  • 0002_テーブル名_カラム名.py:models.pyのVillageテーブルにpeopleという人数を表すカラムを足してmodels.pyをmigrateして作成されたファイル

models.pyでテーブルの変更をした場合、変更の差分が追加される形でmigrationファイルが作成されます。

3.4 ADMINページの設定

肝心のADMINページの設定は非常に簡単です。

admin.pyに以下の内容を記述する。

models.pyに記述したクラス名を.modelsからインポートして、admin.site.registerの引数に指定します。

ぼくのアプリの場合こんな感じ

4. ADMINページでテーブルを開く

4.1 サーバーを起動する

アプリのディレクトリの直下で下記コマンドを実行します。

4.2 ADMINページにアクセスする

下記URLにアクセス

http://127.0.0.1:8080/admin

任意のポートを指定した場合は8080のところにそれに置き換える。

そうすると、このように表示されます。

VillageとCharacterのテーブルが表示されます。

テーブル名を選択すると、管理画面でカスタムのテーブルを操作できます。

4.3 データの追加

[ADD (テーブル名)+] ボタンをクリックします

必要項目を入力し、[SAVE]ボタンをクリックします

データの挿入成功となります。

4.4 データの削除

項目名をクリックして、内容を確認し、[DELETE]ボタンをクリックします

確認画面で[I’m sure]ボタンをクリックします

正常に削除されることを確認します

5. おわりに

プログラミングなしで、簡単に既存のテーブルのデータの追加・削除をすることができます。

シェルだと各カラムを記述する必要があり、GUIだとかなり時間が短くなる気がします。

スポンサーリンク

▼この記事をSNSでシェアする▼

フォローする

メニュー・主な記事カテゴリ

おすすめ特集!




「ゆとり鳥日記」について
ITを中心に関心の赴くままに好きなように書いていく雑記ブログ!管理人が二人います。
◆フクロウ(19卒就活生)
◆トンビ(社会人1年目SE)

詳しいプロフィール
お仕事の依頼・ご要望

ゆとり鳥日記をBTCで応援する