Python | Django | モデルを用いたデータベースへのデータ追加方法

2021年6月29日

公開日:2021/6/29

Pythonには,DjangoというWebアプリケーションフレームワークがある.フレームワークのため,Djangoを利用するとWebアプリを通常よりも短時間で開発することが可能になる.

前記事にて,「モデルにおけるメタオプションの使い方」を記した.前記事での設定をそのまま引き継いだ上で,本記事では,「モデルを用いたデータベースへのデータ追加方法」を以下3つの構成にて記す.

1. save()を利用したデータの追加方法
2. create()を利用したデータの追加方法
3. get_or_create()を利用したデータの追加方法

◆実施環境

Python 3.8.8
Django 3.2.3

  1. save()を利用したデータの追加方法

“model_project"に"insert_val.py"を作成する.

“insert_val.py"を以下のように編集する."c"の中の値(データ)をデータベースに登録することができる.

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE','model_project.settings')

from django import setup
setup()

from model_app.models import Cake

c = Cake(
  cake_name='Molten chocolate cake',
  birthplace='France',
  birthday='1987-1-1',
  inventor='Jean Vongerichten',
  sales_amounts='1000',
  like='True',
  email='jean@gmail.com',
  web_site='https://www.shelokuma.com',
  feed_back='This cake has melted chocolate',
)
c.save()

“insert_val.py"で右クリックをすると,以下コマンドが現れるので,"Run Python File in Terminal"をクリックする.

SQLiteをインストールし(詳細はこちら参照),"SQLITE EXPLORER"を開き,"cake"を右クリックし,"Show Table"をクリックする.

上記の値が以下データベースに挿入されたことが分かる.

  1. create()を利用したデータの追加方法

“insert_val.py"を以下のように編集する."Cake.objects.create()"の中の値をデータベースに登録することができる.

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE','model_project.settings')

from django import setup
setup()

from model_app.models import Cake

Cake.objects.create(
  cake_name='Opera cake',
  birthplace='France',
  birthday='1955-1-1',
  inventor='Cyriaque Gavillon',
  sales_amounts='2000',
  like='True',
  email='Cyriaque@gmail.com',
  web_site='https://www.shelokuma.com',
  feed_back='',
)

“insert_val.py"で右クリックをすると,以下コマンドが現れるので,"Run Python File in Terminal"をクリックする.

上記と同様に,"SQLITE EXPLORER"を開き,"cake"を右クリックし,"Show Table"をクリックすると,上記の値が以下データベースの赤枠に挿入されたことが分かる.

  1. get_or_create()を利用したデータの追加方法

“insert_val.py"を以下のように編集する."Cake.objects.create()"の中の値をデータベースに登録することができる.

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE','model_project.settings')

from django import setup
setup()

from model_app.models import Cake

obj,created = Cake.objects.get_or_create(
  cake_name='Chiffon cake',
  birthplace='USA',
  birthday='1927-1-1',
  inventor='Harry Baker',
  sales_amounts='4000',
  like='True',
  email='Harry@gmail.com',
  web_site='https://www.shelokuma.com',
  feed_back='',
)

print(obj)
print(created)

“insert_val.py"で右クリックをすると,以下コマンドが現れるので,"Run Python File in Terminal"をクリックする.

以下がターミナルに出力される.

Cake object (3)
True

“SQLITE EXPLORER"を開き,"cake"を右クリックし,"Show Table"をクリックすると,上記の値が以下データベースの赤枠に挿入されたことが分かる.

以上