Python | Django | モデルを用いたデータベースのデータ削除方法

2021年6月30日

公開日:2021/6/30

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

前記事にて,「モデルを用いたデータベースのデータ更新方法」を記した.前記事での設定をそのまま引き継いだ上で,本記事では,「モデルを用いたデータベースのデータ削除方法」を以下2つの構成にて記す

  1. 特定の値の削除
  2. 全件削除

◆実施環境

Python 3.8.8
Django 3.2.3

  1. 特定の値(データ)の削除

“model_project"に"delete_val.py"を作成する.以下のような構成になる

SQLiteをインストールし(詳細はこちら参照),"SQLITE EXPLORER"を開き,"cake"を右クリックし,"Show Table"をクリックする.現在の"Table"の内容は以下になる.

“model_project/delete_val.py"を以下のように編集する.データベースにおける"birthplace = USA",つまり"id=3″を削除する内容となっている.

・対象
birthplace = USA

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

from django import setup
setup()

from model_app.models import Cake

Cake.objects.filter(birthplace='USA').delete() # "birthplace = USA"を削除

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

再度"SQLITE EXPLORER"を開き,"cake"を右クリックし,"Show Table"をクリックする."Table"の内容は以下になり,id=3の列が削除されたことが分かる.

 

  1. 全件削除

“model_project/delete_val.py"を以下のように編集する.データベースにおける全ての値を削除する内容となっている.

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

from django import setup
setup()

from model_app.models import Cake

Cake.objects.all().delete() # 全件削除

“delete_val.py"で右クリックをし,"Run Python File in Terminal"をクリックする.再度"cake"の"Show Table"をを確認する."Table"の内容はブランクとなり,全件削除されたことが分かる.

以上